У меня 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 при запуске действия.