簡體   English   中英

FLAG_ACTIVITY_SINGLE_TOP 不適用於 startActivityForResult

[英]FLAG_ACTIVITY_SINGLE_TOP not working with startActivityForResult

有沒有辦法防止使用startActivityForResult創建活動的多個實例?

例如:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        findViewById<TextView>(R.id.button).setOnClickListener {
            startActivityForResult(Intent(this, MainActivity::class.java).apply {
                addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
            }, 1)
        }
    }
}

多次單擊按鈕會打開MainActivity的多個實例,即使我已經設置了FLAG_ACTIVITY_SINGLE_TOP

編輯:看起來行為有所不同,具體取決於我運行的 Android 版本。 Android 8 打開一個新的Activity 但Android 13 沒有打開一個新的Activity。 我如何確保所有 android 版本都具有 Android 13 行為?

您可以在活動清單中添加 android:launchMode="singleTop"。

android:name=".ui.activity.MainActivity"
android:exported="false"
android:screenOrientation="portrait"
android:launchMode="singleTop"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM