I have the same problem with the widget application. I found that appWidgetId is wrong if you do this. When you first update the user interface, you must keep track of the appWidgetId static variable. And then we can use this variable as a regular appWidgetId to update the interface.
Or you can try the code below in onReceiver :
final ComponentName provider = new ComponentName(context, this.getClass()); appWidgetManager.updateAppWidget(provider, views);
which represent RemoteViews .
Thank you, sorry for my English.
source share