Android 杀掉自己进程的方法
来源:互联网 发布:神经官能症知乎 编辑:程序博客网 时间:2024/06/13 07:39
Process.killProcess(Process.myPid());
代码如下
protected void quit() {
int size = activityManager.activityStackCount(); for(int i =size-1 i > 0 i--) {
Activity activity = activityManager.allTaskActivity().get(i); activityManager.popActivity(activity); }
activityManager = null; getActivity().finish();
//目前最为通用的 关闭进程的方法以后的版本使用
Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(startMain);
android.os.Process.killProcess(android.os.Process.myPid()); }
android.os.Process.killProcess(appProcessInfo.pid);只能杀死自己所创建的进程,其它进程是杀不掉的,要用到另外一个方法
activityManager.killBackgroundProcesses(processName);,同是权限也要加上 <uses-permission
android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
以下是我的测试代码
public class ListViewActivity extends Activity {
/** Called when the activity is first created. */
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) { killAll(getApplicationContext()); } }); }
public static void killAll(Context context) { //获取一个ActivityManager 对象
ActivityManager activityManager =
(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); //获取系统中所有正在运行的进程
List<RunningAppProcessInfo> appProcessInfos =
activityManager.getRunningAppProcesses(); //获取当前activity所在的进程
String currentProcess=context.getApplicationInfo().processName;
//对系统中所有正在运行的进程进行迭代,如果进程名不是当前进程,则Kill掉
for (RunningAppProcessInfo appProcessInfo : appProcessInfos) {
String processName=appProcessInfo.processName;
if (!processName.equals(currentProcess)) {
System.out.println("ApplicationInfo-->"+processName);
activityManager.killBackgroundProcesses(processName);
System.out.println("Killed -->PID:"+appProcessInfo.pid+"--ProcessName:"+processName);
} } } }
代码如下
protected void quit() {
int size = activityManager.activityStackCount(); for(int i =size-1 i > 0 i--) {
Activity activity = activityManager.allTaskActivity().get(i); activityManager.popActivity(activity); }
activityManager = null; getActivity().finish();
//目前最为通用的 关闭进程的方法以后的版本使用
Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(startMain);
android.os.Process.killProcess(android.os.Process.myPid()); }
android.os.Process.killProcess(appProcessInfo.pid);只能杀死自己所创建的进程,其它进程是杀不掉的,要用到另外一个方法
activityManager.killBackgroundProcesses(processName);,同是权限也要加上 <uses-permission
android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
以下是我的测试代码
public class ListViewActivity extends Activity {
/** Called when the activity is first created. */
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) { killAll(getApplicationContext()); } }); }
public static void killAll(Context context) { //获取一个ActivityManager 对象
ActivityManager activityManager =
(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); //获取系统中所有正在运行的进程
List<RunningAppProcessInfo> appProcessInfos =
activityManager.getRunningAppProcesses(); //获取当前activity所在的进程
String currentProcess=context.getApplicationInfo().processName;
//对系统中所有正在运行的进程进行迭代,如果进程名不是当前进程,则Kill掉
for (RunningAppProcessInfo appProcessInfo : appProcessInfos) {
String processName=appProcessInfo.processName;
if (!processName.equals(currentProcess)) {
System.out.println("ApplicationInfo-->"+processName);
activityManager.killBackgroundProcesses(processName);
System.out.println("Killed -->PID:"+appProcessInfo.pid+"--ProcessName:"+processName);
} } } }
阅读全文
0 0
- Android 杀掉自己进程的方法
- Android 杀掉自己进程的方法
- [android] Android的进程需不需要杀掉???????????
- ----XP 杀掉进程方法
- Android杀掉进程
- android杀掉进程顺序
- android 杀掉进程
- android 杀掉进程
- Android 杀掉进程
- 杀掉死锁的进程
- android 杀掉整个application的方法
- VB.NET中,利用API杀掉Excel进程的方法
- Linux下直接杀掉一个进程的方法
- linux 下杀掉进程的n种方法
- Android程序退出,杀掉进程
- 杀掉相应数据库的进程
- 杀掉D状态的进程
- 杀掉无法kill的进程
- Android多线程任务优化2:实现后台预读线程
- 关于WKWebViewPOST传递参数的问题
- 使用Spring WebSocket实现消息推送
- service中显示一个dialog
- 反射技术实现关机
- Android 杀掉自己进程的方法
- 三种好用的数组去重方法
- 配置gerrit 及编译 环境
- https工作原理
- Ubuntu下安装VNC server & 【VNC】修改VNC分辨率大小
- 网络技术之IP地址详细介绍
- ubuntu server上安装x-window的方法
- Android 启动
- Android打印代码调用栈