4

履歴のない新しいインスタンスとしてアクティビティを起動する方法はありますか?

マニフェストファイルで次のことを試しました。

android:launchmode="singleinstance"
android:noHistory=true

必要なことは達成できましたが、画面がロックされるとすぐに前のアクティビティが表示されます。それnoHistoryはすべきことですが、私が必要としているものではありません。

画面を常にオンにしておくと、バッテリーが不必要に消耗するため、好ましくありません。新しいインスタンスでアクティビティを開始し、履歴がなく、画面がロックされているときにも機能する他の方法はありますか?

4

3 に答える 3

1

追加することでそれを行うこともできますandroid:noHistory="true"

あなたのAndroidマニフェストアクティビティタグ(ClassName

于 2012-11-05T07:23:26.780 に答える
1

これにより、履歴のない新しい情報でアクティビティが開始されます

Intent intent = new Intent(MainActivity.this, TargetActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
MainActivity.startActivity(intent);
于 2012-11-01T17:10:46.360 に答える
0

このフラグを意図的に使用してみてください。

または詳細についてはこれを参照してください

intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

新しいアクティビティは履歴スタックに保持されません。ユーザーがそこから離れるとすぐに、アクティビティは終了します。

于 2012-11-05T07:05:31.377 に答える