当前位置: 代码迷 >> Android >> 监听回到键退出程序(对于android2.2版本不支持)
  详细解决方案

监听回到键退出程序(对于android2.2版本不支持)

热度:20   发布时间:2016-05-01 16:33:14.0
监听返回键退出程序(对于android2.2版本不支持)

[email protected]
?public boolean onKeyDown(int keyCode, KeyEvent event) {
??if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
???// 确认对话框
???final AlertDialog isExit = new AlertDialog.Builder(this).create();
???// 对话框标题
???isExit.setTitle("系统提示");
???// 对话框消息
???isExit.setMessage("确定要退出吗");
???// 实例化对话框上的按钮点击事件监听
???DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
????public void onClick(DialogInterface dialog, int which) {
?????switch (which) {
?????case AlertDialog.BUTTON1:// "确认"按钮退出程序

??????//finish();原来用的finish,后来发现finishe不能完全退出
??????ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
??????am.restartPackage(getPackageName());
??????break;
?????case AlertDialog.BUTTON2:// "取消"第二个按钮取消对话框
??????isExit.cancel();
??????break;
?????default:
??????break;
?????}

????}
???};
???// 注册监听
???isExit.setButton("确定", listener);
???isExit.setButton2("取消", listener);
???// 显示对话框
???isExit.show();
???return false;
??}
??return false;
?}

?

?

注:用?ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
??????am.restartPackage(getPackageName());可以完全退出,注意在AndroidManifest.xml文件里设置:

<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>

1 楼 fanjianjun0608 2011-07-24  
我的点了怎么没用呢。
<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>

也加了
2 楼 rouye 2011-07-28  
你的是不是android2.2