每一个app都会有一个”退出登陆”的功能,当点击退出之后需要将所有的activity都finish掉,开始是想将栈中的所有activity清除掉,但是没有找到方法,后来用广播实现了

核心思想

当点击登陆的时候发送一个广播,然后在你的baseactivity里面手动注册一个广播,当收到广播后finish,这样所有继承这个base的activity就都finish了,

主要代码

点击退出登录:发送广播

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();

}

}

}

以上所述是小编给大家介绍的android应用退出登录的实现方法,希望对大家有所帮助

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐