在一个activity中kill其他的activity及退出整个应用程序

来源:互联网 发布:学校机房网络限制 编辑:程序博客网 时间:2024/06/03 22:52

1.只是kill一个activity

可以在希望kill掉的activity中设置一个静态变量instance,初始化为this;然后在想要kill它的activity中调用这个instance的finish()方法就可以打到kill的目的了。

Activity A、B:

public static A mInstace = null;

void onCreate(Bundle savedInstanceState){

mInstace = this;

}


B:

A.mInstance.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>


原创粉丝点击