がある -つのアクティビティがフォアグラウンドで背景や他のであり、私が何をしたいのか
私のアプリケーションが実行状態にあると私はアプリすなわちを一時停止します。それをバックグラウンドに移動します。ユーザーは画面をロックしてからロックを解除するので、ACTION_USER_PRESENTのために私のアプリから広告活動を開始します。しかし、バックグラウンドでの活動はバックグラウンドで行われ、フォアグラウンドで示された活動は別々に処理されます。しかし、フォアグラウンド・アクティビティからのクリック・オプションが実行された場合は、フォアグラウンド・アクティビティをクローズし、バックグラウンド・アクティビティを起動する必要があります。
問題点 - ユーザーの現在のインテントが発生すると、新しいアクティビティiが起動し、一時停止されたアクティビティが再開されます。しかし、私はこれを望んでいない、アプリはバックグラウンドであった。新たに開始されたアクティビティのみが前面に表示されます。 FLAG_ACTIVITY_NEW_TASK
がスタックから古い開かれた活動を再開しますので、非常に新しい活動
Intent i = new Intent(context, MyAd.class);
context.startActivity(i);
を開始するには
Intent i = new Intent(context, MyAd.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
この新しいタスクは、action_user_presentのブロードキャスト受信者からFLAG_ACTIVITY_NEW_TASKを使用せずに開始しています。この例外が発生しました。android.util.AndroidRuntimeException:アクティビティコンテキストの外部からstartActivity()を呼び出すにはFLAG_ACTIVITY_NEW_TASKフラグが必要です。これは本当にあなたが望むものですか? – beginner
これを試してください 'i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);' – Bills