ウィジェットの構成に使用できるアクティビティAがあります。ただし、ランチャーから直接開始することもできます。ウィジェット構成インスタンスが保存されると、ランチャーインスタンスが再起動されます。なんでだろうか。
まず、ランチャーからアクティビティを開始します。次に、ホームボタンを押してアクティビティを停止します。
次に、ホーム画面でウィジェットをクリックすると、ウィジェット構成アクティビティインスタンスが起動します。これが私がそれを呼ぶ方法です。
Intent intent = new Intent(context, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent pendingIntent = PendingIntent.getActivity(context, appWidgetId, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
ウィジェット構成アクティビティインスタンスを離れるとき、たとえば保存ボタンをクリックすると、ランチャーアクティビティインスタンスが再起動されます。
public void onClick(View v) {
settings.save();
// Signal that saving was performed and widget should be shown
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);
BreakWidgetProvider.updateWidgets(new int[] { appWidgetId }, this);
this.finish();
}
アクティビティはさまざまなタスクに属する必要があります。なぜそれらが関連しているのだろうか。
ランチャーアクティビティインスタンスの再起動を防ぐにはどうすればよいですか?