Вызовите мероприятие, чтобы сделать фото, звоните onCreate () дважды на Android 10 - PullRequest
0 голосов
/ 11 марта 2020

В Android 10 и только в Android 10 вызов действия для создания фотографии создает новую функцию MainActivity.

private fun takePicture() {
    val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
    val file: File = createFile()
    val uri: Uri = FileProvider.getUriForFile(
        this,
        "com.example.android.fileprovider",
        file
    )
    intent.putExtra(MediaStore.EXTRA_OUTPUT, uri)
    startActivityForResult(intent, Activities.STEPVERIFICATION_IMG_ACTIVITY)
}

В Android 10 onActivityResult вызывается после onCreate () Это не происходит ни в одной другой Android версии.

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)

Android 9 1 - startActivityForResult 2 - onActivityResult

Android 10 1 - startActivityForResult 2 - onCreate () 3 - onActivityResult

Что может отличаться в Android 10?

Большое спасибо,

1 Ответ

0 голосов
/ 11 марта 2020

В Android 10 onActivityResult вызывается после onCreate () Это не происходит ни в какой другой Android версии

Это не имеет ничего общего с Android версией.

Ваш процесс прерывается, пока ваше приложение находится в фоновом режиме. Это совершенно нормально и является стандартной частью Android с Android 1.0.

То, что определяет, будет ли ваш процесс завершен, зависит от многих вещей, включая:

  • Объем памяти, используемой приложением переднего плана и приложениями камер, может сильно различаться по потреблению памяти
  • Какие другие процессы запущены и их относительная важность
  • Количество системной памяти на устройство

Если ваш процесс завершается, когда управление возвращается в ваше приложение, Android будет форкировать процесс fre sh для вас и вызовет onCreate() для вашей новой активности переднего плана, прежде чем звонит onActivityResult(), чтобы доставить вам результат из приложения камеры.

...