私はこのようにしました:
A という名前の内部アクティビティでアプリを起動します --> 画面をロックします --> アプリがリサイクルされたことを確認するまで長時間待ちます --> ロックを解除し、将来のアクティビティを表示します A --> ホームボタンを押します --> クリックしますデスクトップのアプリ アイコン --> 新しいアプリを起動 --> 戻るボタンを押す --> A に戻ります。
私はそれがどのように起こるのだろうか?
私はこのようにしました:
A という名前の内部アクティビティでアプリを起動します --> 画面をロックします --> アプリがリサイクルされたことを確認するまで長時間待ちます --> ロックを解除し、将来のアクティビティを表示します A --> ホームボタンを押します --> クリックしますデスクトップのアプリ アイコン --> 新しいアプリを起動 --> 戻るボタンを押す --> A に戻ります。
私はそれがどのように起こるのだろうか?
解決策が必要な場合は、これを試してください
if (!isTaskRoot()
&& getIntent().hasCategory(Intent.CATEGORY_LAUNCHER)
&& getIntent().getAction() != null
&& getIntent().getAction().equals(Intent.ACTION_MAIN)) {
finish();
return;
}
http://developer.android.com/guide/topics/manifest/activity-element.htmlからの説明の一部を次に示します: **
...「singleTop」アクティビティの新しいインスタンスを作成して、新しいインテントを処理することもできます。ただし、ターゲット タスクのスタックの最上位に既にアクティビティの既存のインスタンスがある場合、そのインスタンスは (onNewIntent() 呼び出しで) 新しいインテントを受け取ります。新しいインスタンスは作成されません。その他の状況 - たとえば、"singleTop" アクティビティの既存のインスタンスがターゲット タスクにあるがスタックの一番上にない場合、またはスタックの一番上にあるがターゲット タスクにない場合 -新しいインスタンスが作成され、スタックにプッシュされます。
**