私が使用しているアプリは自動的にロックされます (パスワード入力画面が必要です)...
a) when the app starts for the first time
b) when another app is started and takes over the device
c) when the device "sleeps" automatically
d) when the user "sleeps" the device manually
(note: with c & d, if the user "awakens" the app within 5 seconds, it does NOT ask for the password)
私が書いているアプリでもこれを行いたいのでPasswordActivity
、必要な検証手順を使用してアクティビティ ( ) を作成し、適切に動作させます。
私はもともとそれを(AndroidManifestでLAUNCHEDされた)に配置しましONCREATE
たMainActivity
。それはうまくいったようです。しかし、その後、再ロック機能を開始しました。それで、ONSTART
またはに移動してみましたONRESUME
。しかし、その後、APP の別の ACTIVITY がフォーカスされるか、画面が回転すると、PasswordActivity
再び発火しました。それはうまくいきません。
ここで、マニフェストで LAUNCHER アプリにすることを推奨するスレッドを見つけ、パスワードが OK になったら MainActivity を呼び出します。それはうまくいくように見えました...しかし、ユーザーがメイン画面から戻るボタンを押したときにのみ「再ロック」するという問題が発生し(アプリを停止すると仮定します)、アプリを再度起動しました。ただし、デバイスを引き継ぐ別のアプリをキャッチしません。
それに基づいて、ライフサイクルで見つけることができるすべてのドキュメントを見た後(ただし、それらのほとんどはアプリケーションベースではなくアクティビティベースです)、APP自体がフォーカスを失ったとき(別のアプリが引き継ぐとき)をキャッチする方法と処理方法がわかりません自動または手動のスリープ (上記の C & D) と時間遅延のチェック。いくつかの呼び出しまたはステップの組み合わせになると思いますが、現時点ではどれが正確かはわかりません。
推奨事項はありますか?