1. 程式人生 > >Android應用退出登入的實現

Android應用退出登入的實現

每一個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(); } } }