サーバーからのメッセージをリッスンする非同期タスクを開始するアクティビティがあります。ユーザーがホーム ボタンを押すと、アクティビティが一時停止し、非同期タスクがバックグラウンドで実行され続けます。あるメッセージが届いたら活動を再開し、作り直さずに前面に出してほしい。私は以下を試しました。
android:launchMode="singleTop"
intent = new Intent(getBaseContext(), MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
これにより、アクティビティが前面に移動しますが、アクティビティが再開されます。
私も試してみました
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
しかし、これらのどれも活動を前面に押し出していません。
ホーム画面から再起動するとどうなるかなど、アプリを再開するための正しいフラグは何ですか。