kotlin点击退出/切换账号返回登录页面

在AndroidManifest.xml中将mainActivity改为singleTask

   <activity android:name=".ui.activity.MainActivity"
      android:launchMode="singleTask">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>

在退出时触发,清除所有缓存(如token,全局状态等),跳回main页面并设置flag便于退出

      val intent = Intent(this, MainActivity::class.java)
      intent.putExtra("closeType", 1)
      startActivity(intent)
      finish()

在MainActivity, 复写onNewIntent方法

  override fun onNewIntent(intent: Intent?) {
    super.onNewIntent(intent)
    val statusType = intent!!.getIntExtra("closeType", 0)
    if (statusType == 1) {
     //可以在这里清除所有状态
      val intent = Intent(this@MainActivity, LoginActivity::class.java)
      startActivity(intent)
     finish()
    }
  }

推荐阅读更多精彩内容