startActivity не всегда работает на Android 7 - PullRequest
0 голосов
/ 21 октября 2019

Я столкнулся со странной ситуацией, которая кажется нормальной для Android <8. Я запускаю любые приложения, способные справиться с этим намерением: </p>

val emailSelectorIntent = Intent(Intent.ACTION_SENDTO)
emailSelectorIntent.data = Uri.parse("mailto:")
val intent = Intent(Intent.ACTION_SEND)
intent.selector = emailSelectorIntent
intent.putExtra(Intent.EXTRA_EMAIL, arrayOf("testemail@yahoo.co.uk"))
intent.putExtra(Intent.EXTRA_SUBJECT, "Testing")
Log.e(TAG, "Called 1")
if (intent.resolveActivity(packageManager) != null) {
      Log.e(TAG, "Called 2")
      startActivity(intent)
      Log.e(TAG, "Called 3")
} else {
      Log.e(TAG, "Called 4 - Error")
}

Это вызывается нажатием кнопки в действии. Он работает нормально (протестировано на Android 6 и 7), но на Android 8, 9 мне пришлось дважды нажать кнопку, прежде чем начинать действие, хотя номера 1, 2 и 3 всегда печатаются при каждом нажатии. Тот же код отлично работает на 6 и 7, но для работы на Android> 7 требуется два клика. Есть ли очевидная вещь, которую я делаю неправильно?

...