Android程序如何在任意处完全退出应用

市面上99.9的Android程序都是免费安装的,不像ios需要收取昂贵的费用,因此,很多Android开发者都会在自己的应用加入启动界面广告,以获取微小的辛苦费。

广告界面(Advertise)是一个独立的Activity并且是主界面,我们会让程序在这个界面停留几秒钟,让用户观看我们的广告,然后
startActivity(new Intent(Advertise.this,Main.class))
启动主内容界面,但是,这样就不可避免的出现一个问题,当用户在Main主内容界面按下back键的时候,程序就返回Advertise广告界面,这样的用户体验很可能会让用户讨厌继而删除应用。那么我们怎么解决这个问题?这时候我们就需要一个Activity管理器管理所有的Activity,每启动一个Activity我们都把它添加到管理器,对应的每结束一个Activity我们就把它从管理器删除,那么如果在Main主内容界面点击back退出应用的时候,只要遍历Activity管理器,把每一个Activity都finish(),这样我们的应用就不会再返回广告主界面(Advertise)了,而且完全退出应用。下面是Activity管理器代码。

public static class ActivityCollector{ 
      private List<Activity> activities = new ArrayList();//这里我们创建一个List集合保存所有启动的Activity
      //添加一个Activity到集合
      public static void add(Activity activity){ 
            activities.add(activity);
       } //从集合中移除某个Activity
      public static void remove(Activity activity){                 
            activities.remove(activity); 
      }//遍历集合所有Activity并且结束该Activity
      public static void finishAll(){ 
            for(Activity activity:activities){ 
                  activity.finash(); 
            }
       }
 }

这样只要我们在每一个启动的Activity回调的onCreate()方法调用ActivityCollector.add(this)把每一个Activity都加入管理器管理,对应的在每一个启动的Activity回调的onDestory()方法调用ActivityCollector.remove(this)把销毁的Activity从管理器去除。如果我们需要在程序某个地方退出整个应用,只需要执行以下代码即可。
ActivityCollector.finishAll();
以上就是Android程序实现在任意一处完全退出应用的方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值