ウィジェットを含む Android アプリケーションに取り組んでいます。
ウィジェットの主なタスク (ユーザーがクリックした後) はUpdateWidgetActivity
、サーバーからデータを収集してウィジェット ビューを更新するアクティビティ ( ) を開始することです。
このアクティビティは他のビューを表示しないため、ユーザー (ウィジェットをクリックした後) は引き続きホーム画面にとどまる必要があります。
問題は次のとおりです。
- ユーザー起動アプリ (アイコンをクリックして) (アクティビティ A など)
- 彼はホームボタンを押します>
- 彼はウィジェットをクリックします
- ウィジェットは実行されます
UpdateWidgetActivity
が、アクティビティ A も再起動され、ユーザーに表示されます (これは望ましくありません)。
私の質問は
まったく別のアクティビティを実行するために、ユーザーがウィジェットをクリックしたときにアプリのアクティビティ (アクティビティ A) が再開されるのを防ぐにはどうすればよいですか?
ここで同様のトピックをたくさん見てきましたが、そこで提案された解決策が私のアプリでは機能しません。
Widget ProvideronUpdate()
メソッドのコードは次のとおりです。
{
for (int appWidgetId : appWidgetIds) {
Intent intent = new Intent(context, WidgetUpdateActivity.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
views.setOnClickPendingIntent(R.id.widget_view, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
私はここにいるのは初めてで、実際にはAndroidの基本的な知識しか持っていないので、間違いや不正確さをお詫びします.