android随时随地退出程序和知晓当前是在哪一个活动

本文参考郭霖大神的第一行代码,传送门:
http://blog.csdn.net/guolin_blog/


一、知晓当前属于哪个activity
1、新建一个BaseActivity类,继承自AppCompatActivity,并重写onCreate()方法。

public class BaseActivity extends AppCompatActivity{
  @Overide
  protected void onCreate(Bundle saveInstanceState){
    super.onCreate(savedInstanceState);
    Log.d("BaseActivity",getClass().getSimpleName());
  }
}

2、让BaseActivity类成为项目中所有Activity的父类。运行程序,点击那个activity,就可以在logcat中看打印信息。
二、随时随地退出程序
需要用一个专门的集合类对所有活动进行管理
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();
  }
} 


在活动管理器中,通过一个List来暂存活动,addActivity()方法往List添加活动,removeActivity()方法用于从List中移除活动,提供finishAll()方法将List存储活动全部销毁掉
2、修改BaseActivity中代码
在onCreate()方法中添加以下代码:

ActivityCollector.addActivity(this);

重写onDestory()方法

protected void onDestroy(){
super.onDestroy();
ActivityCollector.removeActivity(this);
}


3、你想在哪个activity中退出程序,可以添加以下代码:
ActivityCollector.finishAll();





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值