我正在使用以下代码启动相机意图:

val takePictureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
takePictureIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
takePictureIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
val file = viewModel.createImageFile(context, "somefile.jpg")
viewModel.destinationImageFile = file
val photoUri = FileProvider.getUriForFile(context, "${BuildConfig.APPLICATION_ID}.provider", file)//"${applicationId}.provider"
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri)
startActivityForResult(takePictureIntent, TAKE_PICTURE_RESULT_CODE)


但是,当我收到并处理意图时,它看起来像这样:
android - 为什么相机 Intent 不返回文件路径?-LMLPHP

为什么我不找回保存图像的网址?

最佳答案

为什么我不找回保存图像的网址?


因为它不应该。文档没有说ACTION_IMAGE_CAPTURE返回Uri

就您而言,您要提供EXTRA_OUTPUT。在这种情况下,ACTION_IMAGE_CAPTURE应该不返回任何内容(结果代码除外)。您知道图像应该在哪里:为EXTRA_OUTPUT提供的值。因此,在那寻找图像。

09-11 20:10