私は次の2つの活動をしています(さらに、この質問ではもっと重要ではありません):
<activity android:name=".activities.HomeActivity" android:excludeFromRecents="true" />
<activity android:name=".activities.AdHocActivity" android:noHistory="true"/>
HomeActivity
は私が歴史を保持している最初のもので唯一のものです。ユーザーはホームとは別の場所に移動し、[戻る]をクリックしてメインのHomeActivityに戻ることができます。
私はまた、アラームで実行され、いくつかの特定のことをチェックするサービスを持っています。特定の基準が満たされたとき、私は自分のAdHocActivity
Intent i = new Intent(context, AdHocActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra(BlockingActivity.INTENT_BLOCKED_PACKAGE_NAME, packageName);
context.startActivity(i);
FLAG_ACTIVITY_NEW_TASK
BroadcastReceiverからのアクティビティを表示するために必要でした
これで、このアドホックアクティビティはユーザーにメッセージを表示し、ユーザーを元に戻すボタンがあります。HomeActivity
private void sendToMainApplication()
{
Intent i = new Intent(this, HomeActivity.class);
startActivity(i);
finish();
}
これはすべて機能しますが、スタック内の2番目のインスタンスを取得HomeActivity
します。したがって、ユーザーが[戻る]をタップすると、ホームアクティビティが点滅して戻ってきます(前のコピー)。
一番上に残したいのは1部だけです。アンカーのようにしたいと思います。存在しない場合は、新しいものを開いてほしい。