android在任何一个界面退出此应用

来源:互联网 发布:it软件行业账务 编辑:程序博客网 时间:2024/05/01 21:27

最近做项目遇到一个问题,activity栈管理

想要在某个activity直接退出应用有两种方法

1.拿一个linkedlist来管理activity的实例,再退出的时候循环list来finish掉所有的activity;但是这样写会有一个缺陷,就是list会强引用activity的实例,造成内存泄漏。

2.在baseactivity里注册一个广播,然后在退出的时候发送一个广播,在base中接受到回调后finish掉接收到广播的activity。

private BroadcastReceiver exitAppReceiver = new BroadcastReceiver() {    @Override    public void onReceive(Context context, Intent intent) {        unregisterReceiver(this);        ((Activity) context).finish();    }};
public void exitApp() {    Intent intent = new Intent();    intent.setAction(Constant.EXIT_APP);    sendBroadcast(intent);    finish();}

在onresume中动态注册此广播
//注册IntentFilter filter = new IntentFilter();filter.addAction(Constant.EXIT_APP);registerReceiver(this.exitAppReceiver, filter);

0 0
原创粉丝点击