我有一个处理CAMERA_PHOTO_REQUEST案例的onActivityResult,它一直有效,直到我向Intent添加“.putExtra”参数。
使用:
val cameraPhotoIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(cameraPhotoIntent, PermissionHandler.REQUEST_TAKE_PHOTO)
不起作用:
val cameraPhotoIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
cameraPhotoIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI)
startActivityForResult(cameraPhotoIntent, PermissionHandler.REQUEST_TAKE_PHOTO)
onActivityResult:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
PermissionHandler.REQUEST_TAKE_PHOTO ->
if (resultCode == RESULT_OK && data != null) { //result code becomes -1 and data = null after I change to the new semantics
val extras = data.extras
val imageBitmap = extras.get("data") as Bitmap
profile_image.setImageBitmap(imageBitmap)
galleryAddPic()
}
}
}
我的计划是使用.putExtra()参数更改galleryAddPic(),因为超过22的API需要更晚。 当我添加.putExtra时,图像确实保存到手机中,但由于它给我一个-1结果代码,它不会触发onActivityResult块,因此不会设置个人资料图片。
编辑:onActivityResult使用正确的请求代码捕获意图,但结果代码为-1,数据为空。 就像结果捕获器捕获.putExtra部分被捕获而不是实际意图...
Ty需要时间来帮助像这样的星期五。