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

来源:互联网 发布:log4j配置mybatis sql 编辑:程序博客网 时间:2024/06/08 06:35

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用来放activitypublic static List mActivityList = new ArrayList();//在每个activity建立的时候将这个activity加进listmain.mActivityList.add(main.this);//finish所有list中的activitypublic 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>
阅读全文
0 0
原创粉丝点击