アプリが正常に実行されており、アクティビティ A が表示されているとします。その後、ユーザーは電話をロックします。A は忠実に眠りにつく ( onPause()
)。画面がオフの間のある時点で、ユーザーに何かを表示する必要があります。したがって、バックグラウンド コード (サービス) から、B の startActivity を呼び出し、次のフラグを渡します。
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_NEW_TASK
そしてonCreate()
Bの中で、私は次のウィンドウフラグを追加します
FLAG_SHOW_WHEN_LOCKED
FLAG_TURN_SCREEN_ON
FLAG_DISMISS_KEYGUARD
すべて正常に動作します - B がキーガードの上に表示されます。
後で、B を却下したいので、BI call 内からdismiss()
期待どおりに動作します。ロック画面に戻る代わりに、ロック画面の上で A を実行しています。
B を閉じたときに OS が A を再開しないようにするにはどうすればよいですか?
ありがとう。