在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()
}
}
网友评论