安卓开发——安卓完全退出多个activity(一键退出)

每个Activity都有自己的生命周期,被打开了最终就要被关闭。

下面是四种结束当前activity的方法:

//关闭当前activity方法一
    finish();
    
//关闭当前界面方法二
    android.os.Process.killProcess(android.os.Process.myPid());
    
//关闭当前界面方法三
    System.exit(0);

//关闭当前界面方法四
    this.onDestroy();
在开发中,通常我们会通过this.finish();方法来结束当前的activity,但有时候我们在项目开发的时候,可能会遇到安全退出应用的场景,那么如何能够安全退出多个activity呢?

下面给大家介绍一种简单又易懂的方法:

这个方法的思路是:

1、每打开一个activity,就记录下来,在需要退出时,关闭每一个已记录的activity即可;

2、使用单例模式创建一个activity管理对象,该对象中有一个activity容器;

3、定义一个application类来存储activity对象的引用;

实现步骤如下:

一、自定义application类

public class ExitApplication extends Application{
    private List<Activity> activityList = new LinkedList();
    private static ExitApplication instance;

    private ExitApplication() {

    }
    //单例模式中获取唯一的MyApplication实例
    public static ExitApplication getInstance() {
        if (instance == null) {
            instance = new ExitApplication();
        }
        return instance;
    }

    //添加Activity到容器中
    public void addActivity(Activity activity) {
        activityList.add(activity);
    }
    //遍历所有Activity并finish
    public void exit() {
        for (Activity activity : activityList) {
            activity.finish();
        }
        System.exit(0);
    }
}
二、在每个activity的onCreate()方法中添加下面代码:

ExitApplication.getInstance().addActivity(this);
三、在需要结束所有activity的时候调用exit()方法:

ExitApplication.getInstance().exit();







  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值