Android應用退出登入的實現
阿新 • • 發佈:2019-02-04
每一個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();
}
}
}