2

私はAndroidでアプリケーションを作成しました。これはタイマーに関連するアプリケーションです。今、私はAndroidデバイスの戻るボタンにコントロールを配置するために多くのことを試みました。それを押すと、プロセスが強制終了され、メインメニューが直接表示されます...お願いします助けてください...よろしくお願いします..!ここに画像の説明を入力

4

8 に答える 8

2

このコードを試してください

@Override
public void onBackPressed() {
   yourActivity.this.finish;
}
于 2013-01-01T11:00:13.400 に答える
2

アクティビティをオーバーライドonBackPressed()し、そこに必要なコードを追加します

onBackPressed

ユーザーが戻るキーを押したことをアクティビティが検出したときに呼び出されます。デフォルトの実装は単に現在のアクティビティを終了しますが、これをオーバーライドして、必要なことを行うことができます。

于 2013-01-01T10:55:49.667 に答える
1

アプリケーションが閉じられるように、アクティビティ履歴をクリアするだけですfinsh();startActivity();

  <activity
        android:name="com.example.abcd.Your_Acitivty"
        android:noHistory="true">
  </activity>

ハッピーコーディング!

于 2013-10-03T06:18:36.050 に答える
1

戻るボタンをクリックすると、このようなことができます。

@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);
}

これが概念を理解するのに役立つことを願っています。

于 2013-01-01T11:34:32.233 に答える
0

さてジミーあなたはあなたのデバイスのメイン画面に行くためにこのコードを使うことができます-

    finish();
    moveTaskToBack(true);
     System.exit(0);    

finish()メソッドは、現在のアクティビティのみを閉じます。

moveTasktoBackはアプリを非表示にします。必要に応じて、 android.os.Process.killProcess(android.os.Process.myPid())を使用してアプリケーションをすばやく強制終了することもできます。

于 2013-02-04T11:45:54.420 に答える
0

マニフェストで、これを追加してみてください

<activity
    android:name=".MainActivity"
    android:finishOnCloseSystemDialogs="true"
</activity>

私は同様の問題を抱えていましたが、これで解決しました。

于 2013-04-25T19:10:47.983 に答える
0
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2013-03-20T06:19:42.697 に答える