Я работаю над приложением, которое снимает видео с экрана. Ранее я использовал метод StartActivityForResult для отправки намерения для разрешения. Но сейчас устарел. Это старый код: < /p>
mProjectionManager?.createScreenCaptureIntent()
?.let { startActivityForResult(it, REQUEST_CODE) };
< /code>
Теперь разработчик.mProjectionManager = getSystemService(MediaProjectionManager::class.java)
val startMediaProjection = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { result ->
if (result.resultCode == RESULT_OK) {
mMediaProjection = mProjectionManager?.getMediaProjection(result.resultCode, result.data!!)
}
}
startMediaProjection.launch(mProjectionManager?.createScreenCaptureIntent())
< /code>
Хотя старый код работает хорошо, но новый код имеет эту ошибку: < /p>
java.lang.illegalStateException: lifecycleOwner com.cafedabestan.whateboard.MyActivity@beb74c9 is attemping to register while current state is RESUMED. lifecycleOwners must call register before they are started.
< /code>
Я помещаю этот код в том же месте старого кода. Ошибка вызывает попытку поймать
Подробнее здесь: https://stackoverflow.com/questions/795 ... nt-problem