Android Samsung ACTION_IMAGE_CAPTURE 未保存为正确的文件名

Android Samsung ACTION_IMAGE_CAPTURE does not save to correct filename

经过几个小时的调试,我无法将三星 Android phone 上的图片 Intent 保存到正确的文件中。以下代码 (Kotlin):

 val filename=File(getExternalStorageDirectory()?.toString()+"/test.jpg")
 if (filename != null) {
   val takePictureIntent=Intent(MediaStore.ACTION_IMAGE_CAPTURE)
   takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, filename)
   startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE)
   }

它将始终保存在 sdcard/DCIM/Camera/20181104_181922.jpg(即日期和时间)文件名的文件夹中。

有人知道为什么吗?

此外,onActivityResult 的 return 值不显示文件名,仅显示 "null"。请参阅以下代码:我做错了什么?

override fun onActivityResult(requestCode:Int, resultCode:Int, data:Intent?) {
    ...
    val returnedFilename = data?.getData()
    ...
}

Does anyone have an idea why?

EXTRA_OUTPUT是提示,不是命令。理想情况下,所有相机应用程序都会将其作为 ACTION_IMAGE_CAPTURE 处理的一部分。没有要求他们这样做,许多相机应用程序有 ACTION_IMAGE_CAPTURE 没有实现。

Also the return value of onActivityResult does not show the filename but only "null"

ACTION_IMAGE_CAPTURE 未记录到 return 到 UrionActivityResult()。所以,它应该是 null.