我正在使用调试器与仿真器一起工作,并且我注意到onUpdate()
没有得到调用。当我将小部件添加到仿真器主屏幕时,我在onReceive方法中看到了断点。 onReceive()
方法的确获得了android.appwidget.action.APPWIDGET_UPDATE
的 Intent 。但是,永远不会调用onUpdate()
方法。我相信定义正确。
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {
// code that sets up remove view and updates appWidgetManager
}
最佳答案
在onReceive()中调用父类(super class)方法
@Override
public void onReceive(Context context, Intent intent)
{
// Chain up to the super class so the onEnabled, etc callbacks get dispatched
super.onReceive(context, intent);
// Handle a different Intent
Log.d(TAG, "onReceive()" + intent.getAction());
}
如果在子类AppWidgetProvider中重写onReceive(),则除非您调用父类(super class),否则不会触发提供程序的onEnabled,onUpdate等回调。
关于android - 即使我在onreceive中看到android.appwidget.action.APPWIDGET_UPDATE Intent ,也不会在小部件中调用onUpdate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3243445/