0

戻るボタンを押してもアプリケーションが閉じないようにするにはどうすればよいですか?確認メッセージを表示したい。

ありがとうございました。

4

4 に答える 4

3

申込締切確認はこちら

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Do you want to close?")
               .setCancelable(false)
               .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                        //do finish
                    ImageViewActivity.this.finish();
                   }
               })
               .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       //do nothing
                       return;
                   }
               });
        AlertDialog alert = builder.create();
        alert.show();


    }
    return super.onKeyDown(keyCode, event);
}
于 2014-04-28T10:40:58.520 に答える
3

ソース:戻るボタンをオーバーライドしてホーム ボタンのように動作させる

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        //Display confirmation here, finish() activity.
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

それは非常に簡単な検索でした。次回は少し調べてみてください。

于 2012-07-03T17:46:58.297 に答える
1

戻るボタンを押してこれを試してください。確認メッセージが表示されます

@Override
public void onBackPressed() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Thank You!!!!!")
           .setCancelable(false)
           .setPositiveButton("OK", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   //do things
               }
           });
    AlertDialog alert = builder.create();
    alert.show();
}   
于 2012-07-03T18:20:36.053 に答える
0

Android アプリケーションを終了することはお勧めしません。Android の設計では、選択によってアプリケーションを終了するのではなく、OS によってアプリケーションを管理します。対応するインテントによってホーム アプリケーションを起動できます。

このインテントは onKeyDown()、Android 1.x 以降またはonBackPressed()Android 2.x 以降で起動できます

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

より簡単な方法は、[戻る] ボタンの押下をキャプチャして、次のように moveTaskToBack(true) を呼び出すことです。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-07-03T18:12:19.953 に答える