11

AppWidgetProviderクラスに次のコードがあります。

@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と、ウィジェットをホームスクリーンに追加するたびにメソッドが呼び出されます。そうしないと実行されません。何かご意見は?

4

1 に答える 1

17

試す:

@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コードを見ると、メソッドを呼び出していることがわかりますonUpdateonUpdateそのため、スーパー クラスのデフォルト メソッドを呼び出す必要があります。

于 2010-12-03T21:20:06.670 に答える