每一个app都会有一个”退出登陆”的功能,当点击退出之后需要将所有的Activity都finish掉,开始是想将栈中的所有Activity清除掉,但是没有找到方法,后来用广播实现
主要代码
- 点击退出登录:发送广播
Intent intent = new Intent();
intent.setAction("exit_app");
sendBroadcast(intent);
- 接收广播:finish界面(在BaseActivity里面接收)
MyReceiver receiver;
private void registerBroadcast() {
// 注册广播接收者
receiver = new MyReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("exit_app");
context.registerReceiver(receiver,filter);
}
class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(ConstantUtils.EXIT_APP)){
LogUtils.e("zs","退出登陆");
finish();
}
}
}