私はAndroidでアプリケーションを作成しました。これはタイマーに関連するアプリケーションです。今、私はAndroidデバイスの戻るボタンにコントロールを配置するために多くのことを試みました。それを押すと、プロセスが強制終了され、メインメニューが直接表示されます...お願いします助けてください...よろしくお願いします..!
8 に答える
このコードを試してください
@Override
public void onBackPressed() {
yourActivity.this.finish;
}
アクティビティをオーバーライドonBackPressed()
し、そこに必要なコードを追加します
ユーザーが戻るキーを押したことをアクティビティが検出したときに呼び出されます。デフォルトの実装は単に現在のアクティビティを終了しますが、これをオーバーライドして、必要なことを行うことができます。
アプリケーションが閉じられるように、アクティビティ履歴をクリアするだけですfinsh();
。startActivity();
<activity
android:name="com.example.abcd.Your_Acitivty"
android:noHistory="true">
</activity>
ハッピーコーディング!
戻るボタンをクリックすると、このようなことができます。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();// call finish() on click of back button
}
return super.onKeyDown(keyCode, event);
}
例: startActivity(new intent(...)); を使用して A アクティビティから B アクティビティに移動する場合。A アクティビティを終了または強制終了しないでください。それはスタックにあります。So when you click on back button in B activity you can go back to A activity, which is already in stack.
メインメニューに戻りたいときは、次のアクティビティに移動するときに、すべてのアクティビティで finish() を呼び出します。
例: startActivity(new intent(...)); を使用して A アクティビティから B アクティビティに移動する場合。finish()
Aアクティビティを殺すために呼び出します。So when you click on back button in B activity you can go back to Main Menu coz every activity ll be killed.
スニペットはここにあります:
startActivity(new intent(A.this, B.class));
finish(); // when you click back button on B activity, directly you can go to main menu
更新: 戻るボタンが押されたときに以下のコードを使用してアプリを強制終了する別の方法。しかし、お勧めしません
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
android.os.Process.killProcess(android.os.Process.myPid());// Kill the app on click of back button.
}
return super.onKeyDown(keyCode, event);
}
これが概念を理解するのに役立つことを願っています。
さてジミーあなたはあなたのデバイスのメイン画面に行くためにこのコードを使うことができます-
finish();
moveTaskToBack(true);
System.exit(0);
finish()メソッドは、現在のアクティビティのみを閉じます。
moveTasktoBackはアプリを非表示にします。必要に応じて、 android.os.Process.killProcess(android.os.Process.myPid())を使用してアプリケーションをすばやく強制終了することもできます。
マニフェストで、これを追加してみてください
<activity
android:name=".MainActivity"
android:finishOnCloseSystemDialogs="true"
</activity>
私は同様の問題を抱えていましたが、これで解決しました。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}