Я использую способ захвата изображений Android по умолчанию, и у меня проблема. Это мой код
fun onCameraClick(): View.OnClickListener {
return View.OnClickListener {
val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
if (intent.resolveActivity(dialog.context.packageManager) != null) {
var photoFile: File? = null
try {
photoFile = dialog.context.createImageFile()
} catch (e: IOException) {
Timber.e(e)
}
photoFile?.let {
val photoURI = FileProvider.getUriForFile(
dialog.context,
"${dialog.context.packageName}.fileprovider",
it
)
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI)
generalBottomSheetDialogFragment?.startActivityForResult(intent, CAMERA_REQUEST_CODE)
}
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
when (requestCode) {
CAMERA_REQUEST_CODE -> {
when {
requestCode == -1 -> {
}
requestCode == RESULT_CODE_OK -> {
}
else -> {
}
}
}
PDF_REQUEST_CODE ->
data?.also {
generalResponse.setElement(it)
dialog.dismiss()
}
}
}
Моя проблема в том, что когда я успешно делаю снимок, resultCode будет равен -1, а когда я нажимаю обратно с камеры, я получаю RESULT_CODE_OK. Может ли кто-нибудь помочь мне понять, почему это происходит? Что я не вижу?