惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
量子位
美团技术团队
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
月光博客
月光博客

博客园 - looky

5个未来必不可少的IT技能 常用诺基亚S60手机软件应用 常用Android手机软件应用 常用iPhone手机 免费软件应用... Properties Table of Widgets: 简单 申请 msn.com邮箱 @ Android UI --- 设置ProgressBar的颜色 注册国际paypal支付 为何要划扣1美元 详析 Android Timer 更好方法 照相机捕获照片保存大小以及保存位置的问题 纯代码实现 Android 登陆布局 简单实现显示隐藏密码,在EditText中。 去掉标题栏和系统栏代码实现以及动态设置密码 Android里添加 Menu Android模拟器SD Card映像文件使用方法 Android的源代码结构 Android--输入法篇 Android Service Android开发中保存数据的四种方法方法
android 彻底关闭应用程序 返回键的捕获
looky · 2010-05-07 · via 博客园 - looky

       在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里运行着,其实这不是我们想要的结果。
我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动作),我们在onDestroy()里强制退出应用,或直接杀死进程,具体操作代码如下:

 
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

//按下键盘上返回按钮
if(keyCode == KeyEvent.KEYCODE_BACK){
 
new AlertDialog.Builder(this)
.setIcon(R.drawable.services)
.setTitle(R.string.prompt)
.setMessage(R.string.quit_desc)
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();
}
}).show();

return true;
}else{ 
return super.onKeyDown(keyCode, event);
}
}

 
 
@Override
protected void onDestroy() {
super.onDestroy();

System.exit(0);
//或者下面这种方式
//android.os.Process.killProcess(android.os.Process.myPid()); 
}