使用完成后,上一个活动未完成

问题描述

我做了一个深层链接用户可以在其中选择他想要启动的应用程序。但是由于某种原因,在用户选择该应用程序并想要更改为另一个应用程序后,它不起作用,因为当我再次启动该活动时,它来自上一个应用程序而不是新应用程序。 我认为这个方法有一些东西,因为它看起来像 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)
    
}