Android: Widget onReceive() not getting called
===

I have a widget whose layout has an imageView. The view needs to be changed based on some activity. So, whenever that happens, I am calling a sendBroadcast() with the action set to "UPDATE_WIDGET". However, the onReceive() in the widget code is not getting called. Below is my code.

    public class TaskWidget extends AppWidgetProvider {
    ...
    @Override
    	public void onReceive(Context context, Intent intent)
	{
		Toast.makeText(context, "widget update", 2000).show();
		RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.searchwidget);
		if(intent.getAction().equals(UPDATE_WIDGET))
		{
			views.setImageViewResource(R.id.newImage, R.drawable.Pic1);
		}
		super.onReceive(context, intent);
	}
}

In the manifest, 

    <receiver
            android:name="com.rahul.testwidget.TaskWidget"
            android:label="Task Widget" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                <action android:name="com.rahul.UPDATE_WIDGET" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget" />
        </receiver>

Thx!