android程序如何实现按返回键退出所有activity

Posted 轻烟散入五侯家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android程序如何实现按返回键退出所有activity相关的知识,希望对你有一定的参考价值。

1、写一个ActivityCollector类作为活动管理器(这里借鉴了第一行代码第二版)
public class ActivityCollector {
    public static List<Activity> activities = new ArrayList<>();

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

    public static void removeActivity(Activity activity){
        activities.remove(activity);
    }

    public static void finishAll(){
        for(Activity activity : activities){
            if(!activity.isFinishing()){
                activity.finish();
            }
        }
        activities.clear();
    }
}
2、每一个其它活动的onCreate()方法中都将该活动加入ActivityCollector活动管理器的activities集合
protected void onCreate(Bundle savedInstanceState) {
        ActivityCollector.addActivity(this);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_galaxy);
}
3、重写要实现“按返回键退出”的活动的退出方法,这里调用了ActivityCollector活动管理器的finishAll()方法,即可将所有活动都退出。
    @Override
    public void onBackPressed() {
        ActivityCollector.finishAll();
        super.onBackPressed();
    }

以上是关于android程序如何实现按返回键退出所有activity的主要内容,如果未能解决你的问题,请参考以下文章

C语言中如何实现按任意键退出

(Android Studio)简单实现:双击返回键,退出应用首页

Android实现按两次back键退出应用

android 中按下返回键销毁activity的详细调用过程。 求大神解答。

android 怎么设置alertdialog按返回键退出,点其他地方不退出

Android如何实现点击一次返回键返回桌面而不是退出应用