ユーザーがAndroidデバイスのホームボタンに触れたときにアプリケーションを破棄し、ユーザーがAndroidの「戻る」ボタンに触れたときにMainActivityを開始したいと思います。誰かがそれを行う方法を知っていますか?
5 に答える
戻るのアプリを閉じる
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK :
finish();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
また、ホームボタンのクリックイベントを取得できないため、onStopメソッドをコーディングする必要があります。
@Override
protected void onStop() {
finish();
super.onStop();
}
これを行うには、finish()メソッドとfinishActivity()メソッドを呼び出します。APIガイドの詳細を確認してください。アクティビティのシャットダウン。これらのメソッドをどこから呼び出すかは、アプリケーションの実装方法に基づいていますが、KeyEventをリッスンし、ホームボタンのキーイベントをフィルタリングすることで、現在のフォーカスされたアクティビティからこれを実行できると思います。
ただし、アクティビティを強制終了すると、アクティビティを強制終了するとメモリスタックが消去されるため、戻るボタンを押してもアプリケーションアクティビティに戻らないことを考慮する必要があります。
また、AndroidDevelopersサイトにあるアクティビティのライフサイクル図と詳細な説明も確認してください。
メソッドを呼び出しfinish()
ますonStop()
。またはandroid:noHistory="true"
、マニフェストで使用します。
Activity
を呼び出すことで閉じることができfinish()
ますが、開いているそれぞれに対してそれを行う必要がActivity
あります。HOMEボタンを押したときにこれを行うには、を登録する必要がありますKeyEvent
。これを行う方法についてはあまり明確ではありませんが、ここでドキュメントを見つけることができます。