startActivity () для запуска на подключенном дополнительном дисплее не работает должным образом - PullRequest
0 голосов
/ 23 января 2020

У меня samsung s10e с Android 10. Я подключил внешний монитор к s10e, и он работал как положено.

У меня есть приложение, и я хочу открыть некоторые действия на дополнительном экране, если он подключен.

Вот метод, который я использовал для запуска действия на дополнительном экране.

 private fun startActivityInSecondaryDisplay(intent: Intent) {
    val displays = activity.getSystemService(DisplayManager::class.java)?.displays
    val secondaryDisplay = displays?.get(1) // choosing secondary display
    val secondaryDisplayId = secondaryDisplay?.displayId
    val am = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && secondaryDisplayId != null && am.isActivityStartAllowedOnDisplay(context, secondaryDisplayId, intent)) {
        intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
        val options = ActivityOptions.makeBasic().setLaunchDisplayId(secondaryDisplayId)
        startActivity(intent, options.toBundle())
        L.toast(context,"starting activity in display#$secondaryDisplayId")
        //code reaches here while testing on my Samsung s9 while connected
    } else {
        startActivity(intent)
    }
}

Я получаю следующую ошибку в logcat при запуске действия.

enter image description here

...