当前位置: 代码迷 >> 移动平台 >> android 2.2以上杀进程方法解决办法
  详细解决方案

android 2.2以上杀进程方法解决办法

热度:2527   发布时间:2013-02-26 00:00:00.0
android 2.2以上杀进程方法
转载自:http://dev.10086.cn/cmdn/bbs/thread-41049-1-1

android 2.2以下杀进程方法:restartPackage();
  android 2.2以上杀进程方法: android.os.Process.killProcess(android.os.Process.myPid());,但是如果直接调用它肯定不好使。解决方法如下:
public class MyActivity extends Activity
{
public static List activityList = new ArrayList();

@Override
protected void onCreate(Bundle savedInstanceState)
{

super.onCreate(savedInstanceState);
activityList .add(this);
}

@Override
protected void onDestroy()
{

super.onDestroy();
activityList .remove(this);

}
public static void killMyProcess()
{

for (Activity activity: activity)
{
activity.finish();
}
android.os.Process.killProcess(android.os.Process.myPid());

}
}
复制这段代码然后让你所有的Activity都继承它,调用方法killMyProcess()就OK了.
新增加:
原理是2.2以上的版本如果你的程序只有一个activity就可以杀掉进程,否则不能完全杀死进程。
所以我建了个链表用来缓存这些activity的实例,在杀死进程之前先finish掉你的activity(我没有考虑activity是singletask等情况),然后就可以直接掉android.os.Process.killProcess(android.os.Process.myPid())杀进程了。这个代码提供给真正需要用到的人,搞研究的闪一边去,尽然有人说我骗回复忽悠人,你们可以看看我发过的帖子哪个忽悠人的(转帖的我都标明好了的),我估计他也没有仔细看帖子,真的无语,现在的有些人太不尊重别人的劳动成果了。

------解决方案--------------------------------------------------------
  相关解决方案