ホームボタンと戻るボタンを押したときにアプリケーションを完了する方法は? 私の記憶には多くの写真が含まれています。[戻る] ボタンを押すと、アプリケーションが再起動します... [ホーム] ボタンを押すと、アプリケーションを終了しますが、再起動すると、Splashstsreen が起動しません。
3 に答える
アクティビティのライフサイクルをいじったり妨害したりするのは、プログラミングの良い習慣ではないと思います。一時停止や終了のアクティビティを含むライフサイクルを管理するのはOSの責任です。代わりに、スプラッシュ画面が表示されないという問題を処理するために他のメソッドを使用する必要があります。これらのメソッドはonResumeであり、おそらくonStart()でもあります。また、アクティビティのライフサイクル(@ ss1271によって送信されたリンク)に精通している必要があります。
コードなしではわかりにくいですが、アクティビティがゼロから開始するのではなく、再開しているように思えます (動作するはずです)。その場合、正しく動作しているように聞こえます。戻るボタンがクリックされた後にアプリケーションを本当に終了させたい場合は、おそらく onBackPressed() をオーバーライドしてから、Activity にその finish() メソッドを呼び出させることができます。
ホームを押すと、アクティビティが開始されますonPause()
。ただし、HOME を押したときにどうしてもアプリケーションを終了したい場合は、明らかに良い方法ではありません。次のようにすることができます。
- オーバーライド
onPause()
してonBackPressed()
finish();
これらのメソッドに追加します。
finish();
に追加すると、戻るボタンが押されたときにアプリが終了すると確信してonBackPressed()
いますが、ホームでは試していません。
詳細については、アクティビティのライフサイクルを参照してください。