1、只是kill一个activity
1) 在希望kill掉的activity中设置一个静态变量instance,初始化为this;
2) 然后在想要kill它的activity中调用这个instance的finish()方法就可以打到kill的目的了。
Activity A:
public class A(){
public static A instance;
@Override
protected void onCreate(Bundle savedInstanceState) {
......
instance = this;
}
}
Activity B:
if (A.instance != null){
A.instance.finish();
}
2、完全退出应用程序
2.1 关闭所有的activity退出应用程序
//建立一个public static的list用来放activity
public static List mActivityList = new ArrayList();
//在每个activity建立的时候将这个activity加进list
main.mActivityList.add(main.this);
//finish所有list中的activity
public static void killallActs(){
int num=mActivityList.size();
for(int i=0;i<num;i++){
if(mActivityList.get(i)!=null){
mActivityList.get(i).finish();
}
}
}
2.2 使用ActivityManager退出应用
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
注意在AndroidManifest.xml文件里设置:
<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>