问题描述
我做了一个深层链接,用户可以在其中选择他想要启动的应用程序。但是由于某种原因,在用户选择该应用程序并想要更改为另一个应用程序后,它不起作用,因为当我再次启动该活动时,它来自上一个应用程序而不是新应用程序。 我认为这个方法有一些东西,因为它看起来像 SplashActivity 它在新活动之上,我需要杀死它。我也尝试将 SplashActivity 更改为我的 MainActivity 但同样的问题。
private fun initMainScreen() {
val intent = Intent(applicationContext,SplashActivity::class.java)
intent
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
applicationContext.startActivity(intent)
finish()
}
解决方法
你必须在开始活动之前调用finish()。
private fun initMainScreen() {
val intent = Intent(applicationContext,SplashActivity::class.java)
finish()
intent
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
applicationContext.startActivity(intent)
}