嗨,世界各地的 Android 应用程序开发人员,
我是android应用程序开发的新手。如何覆盖菜单按钮,以便当用户按下菜单按钮时,会弹出退出按钮以退出应用程序。
谢谢您的帮助。
似乎没有人关心你的标签cordova
和html5
你的问题!在您的 onDeviceReady 事件中,您为菜单按钮设置了一个侦听器并调用navigator.app.exitApp()
function onDeviceReady(){
document.addEventListener("menubutton", closeApp, false);
}
function closeApp(){
navigator.app.exitApp();
}
请注意,虽然其他答案实际上并未回答您的问题,但它们具有重要信息:
像这样:编辑
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);
}
希望这有帮助
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;
}