在 kotlin 中组合标志并清除回溯跟踪

Combine flags and clear back trace in kotlin

我正在使用 Kotlin 开发一个 android 应用程序。在 Android 中,我们使用 addFlags 和 setFlags 设置标志并清除由“|”分隔的回溯活动。如何在 Kotlin 中实现它?我目前在 Kotlin 中使用以下代码:

startActivity(Intent(context, MyActivity::class.java)
            .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK))

但它不起作用。我也试过 addFlags,它也没有用。这种情况应该怎么办?

这样使用

val intent = Intent(context, MyActivity::class.java)                
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
val intent = Intent(this, MyActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(intent)

添加到清单android:launchMode="singleTask

有意使用它以清除回溯活动

Java

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

Kotlin

 var intent = Intent(this, [Your_activity]:class.java)
        intent.flags =  Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
        startActivity(intent)
 val intent = Intent(activity!!, MainActivity::class.java)
    startActivity(intent)
    activity!!.finishAffinity()

有意使用它以清除回溯活动

var intent = Intent(this, [Your_activity]:class.java)
    intent.flags =  Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
    startActivity(intent)