2010-12-03 81 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

相關問題