2010-12-03 80 views
11

我的AppWidgetProvider类中有以下代码。onReceive方法存在时未调用App Widget onUpdate

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    Log.i("Custom", "Update"); 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    Log.i("Custom", "Recieve"); 
} 

如果我注释掉onReceive方法onUpdate方法将在每个我的小工具添加到主屏幕,如果我不不运行时调用。有什么想法吗?

回答

16

尝试:

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    Log.i("Custom", "Update"); 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    super.onReceive(context, intent); 
    Log.i("Custom", "Recieve"); 
} 

如果你看一看的AppWidgetProvider代码,你会看到,它调用onUpdate方法。所以,你必须调用超类的默认方法onUpdate

+0

谢谢,真的应该自己挑选了! – Leo 2010-12-03 21:23:03

相关问题