安卓应用开发实战:[10]杀死进程
1、android.os.Process.killProcess(pid)API自杀,其中pid可以墩伛荨矧通过android.os.Process.mypid()获得。这个方法不可以杀别的进程。关键代码:public void onClick(View v) { int pid = android.os.Process.myPid(); //获得自己的pid android.os.Process.killProcess(pid);//通过pid自杀}
![安卓应用开发实战:[10]杀死进程](https://exp-picture.cdn.bcebos.com/555acf0ff2260d9af15e262d622abab84340a5e4.jpg)
2、调用系统方法System.exit()退出JAVA虚拟机,进程自然也就结束,但是这JAVASE中的方法,不推荐使用。关键代码:public void onClick(View v) {// System.exit(0);//退出JAVA虚拟机,当前进程自然就退出了}
![安卓应用开发实战:[10]杀死进程](https://exp-picture.cdn.bcebos.com/430174fec314f1c55dbe70753c27ac5307889de4.jpg)
3、使用钽吟篑瑜ActivityManager的killBackgroundProcesses(packageName)方法可以强制性的关闭packageName关联的执行。这个方法的特点是不可以自杀,只能杀死其他进程。关键代码:public void onClick(View v) { String packageName = textPackageName.getText().toString();//获得包名 ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);//获得获得管理器 am.killBackgroundProcesses(packageName);//通过包名杀死关联进程}
![安卓应用开发实战:[10]杀死进程](https://exp-picture.cdn.bcebos.com/ad121888912ca5ca13b8a1fc8bfc77f7990e94e4.jpg)
4、要杀死其他进程,要获得权限。在AndroidManifest.xml添加下面结点: <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
![安卓应用开发实战:[10]杀死进程](https://exp-picture.cdn.bcebos.com/dda98e4800fc77f74b5e6e94c8715fdb372090e4.jpg)
5、为测试上面界面第三步的killBackgroundProcesses(packageName)方法,设计了如图所示程序,输入包名点击按钮就可以杀死关联进程。
![安卓应用开发实战:[10]杀死进程](https://exp-picture.cdn.bcebos.com/994f412043715fdbe170888e468920c5270f8ce4.jpg)
6、调试程序时可以eclipse中的Device窗体查看安卓模拟器运行的进程信息,获得包名。从而杀死想要杀死的程序。
![安卓应用开发实战:[10]杀死进程](https://exp-picture.cdn.bcebos.com/3761a73acd8920c5fd5fb981568a59de440788e4.jpg)