当前位置:编程学习 > wap >>

如何结束安卓进程

RT

使用
1. android.os.Process.killProcess(android.os.Process.myPid());
2. System.exit(0);

都不管用
程序会重启 --------------------编程问答-------------------- 把activity都放到list中,退出的时候遍历list,挨个finish。 --------------------编程问答-------------------- finsh就可以了 --------------------编程问答--------------------
引用 1 楼 knxw0001 的回复:
把activity都放到list中,退出的时候遍历list,挨个finish。

程序中还有service的 --------------------编程问答-------------------- service stop掉,service就是要在后台运行的,为什么要关掉。如果要关掉,为什么还要用他呢 --------------------编程问答-------------------- 整出来个严重异常自己就结束了 --------------------编程问答-------------------- 楼上心态真好 --------------------编程问答-------------------- 如果你有root 权限 直接 用exec 执行命令 kill 那个绝对能杀死 --------------------编程问答--------------------
引用 4 楼 knxw0001 的回复:
service stop掉,service就是要在后台运行的,为什么要关掉。如果要关掉,为什么还要用他呢

我想结束掉程序是因为出现严重异常了
然后我捕捉到这个异常, 想结束掉整个程序 --------------------编程问答--------------------
引用 7 楼 shen332401890 的回复:
如果你有root 权限 直接 用exec 执行命令 kill 那个绝对能杀死

没有root权限,就一个普通程序 --------------------编程问答-------------------- System.exit(0);  用了都说好 --------------------编程问答--------------------
引用 10 楼 tanwei4199 的回复:
System.exit(0);  用了都说好

exit导致重启的,顶楼就说了

参考以下代码
package com.qefee.test_killprocess;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Intent intent = new Intent(this, AnotherActivity.class);
startActivity(intent);
Thread killThread = new Thread(new Runnable() {

@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}

// 用kill和exit都会导致重启
android.os.Process.killProcess(android.os.Process.myPid());
// System.exit(0);
}
});

killThread.start();
}
}
--------------------编程问答-------------------- 析构掉,还是从系统中,删除 --------------------编程问答-------------------- 4楼的方法是可以的 --------------------编程问答-------------------- 自己管理activity和service
在kill之前结束掉貌似就可以

public class ActivityUtil {
private static Set<Activity> activities = new HashSet<Activity>();

public static void add(Activity a) {
activities.add(a);
}

public static void del(Activity a) {
activities.remove(a);
}

public static void finishAall() {
for (Activity a : activities) {
a.finish();
}
}

}

service类似 --------------------编程问答-------------------- 可能那个service是START_STICKY
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,