Android程序退出,杀掉进程
来源:互联网 发布:消防工程师 知乎 编辑:程序博客网 时间:2024/06/05 08:25
在Activity中,监听返回键的事件,event.getRepeatCount() == 0是确定只按了一次返回键,防止重复触发。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
kill();
return true;
}
return super.onKeyDown(keyCode, event);
}
在kill方法中,删除进程。
private void kill() {
// 返回主界面,相当于按了HOME键
Intent mHomeIntent = new Intent(Intent.ACTION_MAIN);
mHomeIntent.addCategory(Intent.CATEGORY_HOME);
mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(mHomeIntent);
// 执行Kill命令,删除指定进程
killProcess("com.dinglicom.airrunner.sensor.simple:UI");
// android.os.Process.killProcess(android.os.Process.myPid());
}
获取全部进程,再根据进程名删除进程:
private void killProcess(String killName) {
// 获取一个ActivityManager 对象
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
// 获取系统中所有正在运行的进程
List<RunningAppProcessInfo> appProcessInfos = activityManager
.getRunningAppProcesses();
// 对系统中所有正在运行的进程进行迭代,如果进程名所要杀死的进程,则Kill掉
for (RunningAppProcessInfo appProcessInfo : appProcessInfos) {
String processName = appProcessInfo.processName;
if (processName.equals(killName)) {
killProcessByPid(appProcessInfo.pid);
}
}
}
private void killProcessByPid(int pid) {
String command = "kill -9 " + pid + "\n";
Runtime runtime = Runtime.getRuntime();
Process proc;
try {
proc = runtime.exec(command);
if (proc.waitFor() != 0) {
System.err.println("exit value = " + proc.exitValue());
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (InterruptedException e) {
System.err.println(e);
}
}
双击退出应用的功能参考:http://blog.sina.com.cn/s/blog_4fd2a65a0101gg2o.html
- Android程序退出,杀掉进程
- Android杀掉进程
- android杀掉进程顺序
- android 杀掉进程
- android 杀掉进程
- Android 杀掉进程
- Android退出程序并杀死该进程
- Android退出程序并杀死该进程
- 杀掉某一进程的vbs程序
- VS+C#杀掉程序创建的进程
- [android] Android的进程需不需要杀掉???????????
- 【Android】【转】Android程序退出彻底关闭进程的方法
- 杀掉进程
- 杀掉进程
- 杀掉进程
- Android 杀掉自己进程的方法
- Android 杀掉自己进程的方法
- Android程序退出彻底关闭进程的方法
- 《C++语言基础》实践参考——max带来的冲突
- eclipse提示:Syntax error on tokens, delete these tokens怎么解决
- Titanium Studio环境安装
- linux指令一chown
- python系统信息模块psutil
- Android程序退出,杀掉进程
- 非负数正则表达式 js jquery demo
- android studio 更新 Gradle错误解决方法
- android sdk 原版 百度盘分享
- 自制脚本语言(2) LR(1) parser generator的设计
- Jar包读取内部和外部的文件
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- objective-c启用ARC时的内存管理
- java.lang.IllegalArgumentException: View not attached to window manager when dismissing dialog