Android退出程序

在 只有一个activity的情况下,退出安卓程序只需 用finish();或System.exit(0);

但是如果有多个activity要用另外一种方法


 

之前做了一个应用,有一个跳转加载activity,每次back的时候都会由跳转activity转至主界面。后来做了一个menu想实现退出程序,然后在menu里面实现了System.exit(0),发现无法实现,于是就再跳转加载activity里面添加了finish()方法,呃,结果实现了退出,但是又发现点击back的时候,程序也直接结束了,想了想应该是跳转activity里面finish()的原因。于是在群里问大神,结果解决了这个问题,现在就跟大家分享一下,大牛看到哪里有问题可以指导一下,谢谢。

 

 

大家都知道 Android 的 Activity 是存着历史栈的,比如从 A -> B -> C,C 完成 finish 后回到 B,把所有的Activity 都 finish了,程序就自然退出了。当然在 finish 的同时也需要是否自己程序的其他资源。所以需要想个办法把 Activity 给存起来。然后在程序退出的地方调用它们的 finish()方法。

 

public staticclassExitApplication extends Application {

 

      private static ExitApplication instance;

      List<Activity>activityList= newArrayList<Activity>();

     

      private ExitApplication() {

      }

      public static ExitApplicationgetInstance() {

         if (instance == null) {

            instance = new ExitApplication();

         }

         return instance;

      }

 

      public void addActivity(Activityactivity) {

         activityList.add(activity);

      }

 

      public void exit() {

         for (Activity activity : activityList) {

            activity.finish();

         }

         System.exit(0);

      }

   }

先新建一个这个类。
然后在需要finish的activity里的onCreate()方法内添加

1.  ExitApplication.getInstance().addActivity(this);

最后再在你要结束程序的地方添加

1.  ExitApplication.getInstance().exit();

Ok就这样,实现了退出程序。再一次感谢喜欢分享的大牛们,希望能帮到跟我遇到同样问题的同学们

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值