0

我怎样才能使按下后退按钮不会关闭我的应用程序?我想显示一条确认消息。

谢谢你。

4

4 回答 4

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 回答
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 回答
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 的设计不支持选择退出应用程序,而是由操作系统管理它。您可以通过其相应的 Intent 调出 Home 应用程序:

onKeyDown()您可以在 Android 1.x 及更高版本或onBackPressed()Android 2.x 及更高版本中触发此 Intent

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 回答