世界各地的Android应用开发者,
我是Android应用程序开发的新手。如何覆盖菜单按钮,以便当用户按下菜单按钮时,会弹出并退出按钮以退出应用程序。
感谢您的帮助。
答案 0 :(得分:1)
似乎没有人关心您在问题上标记cordova
和html5
!在onDeviceReady事件中,您将听众设置为菜单按钮并调用navigator.app.exitApp()
function onDeviceReady(){
document.addEventListener("menubutton", closeApp, false);
}
function closeApp(){
navigator.app.exitApp();
}
请注意,虽然其他答案实际上没有回答您的问题,但他们有重要信息:
答案 1 :(得分:0)
像这样: 修改
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
// Create your alertDialog
new AlertDialog.Builder(this)
.setTitle("Exit ?")
.setMessage("Are you sure you want to exit?")
.setNegativeButton(android.R.string.no, null)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
//Destroy your current activities
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
}).create().show();
return true;
}
return super.onKeyUp(keyCode, event);
}
希望这个帮助
答案 2 :(得分:0)
答案 3 :(得分:0)
Android的设计不赞成选择退出应用程序,而是通过操作系统管理它。您可以通过相应的Intent:
调出Home应用程序@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_MENU)) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Do you want to Exit?").setCancelable(true)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});
.setNegativeButton("OK", new DialogInterface.OnClickListener() {
dialog.dismiss();
});
AlertDialog alert = builder.create();
alert.show();
}
return true;
}