一切都在标题中。
我可以使用 File 构造函数获取 File 对象,但在 Uri 上使用 toFile() 扩展会导致错误。
java.lang.IllegalArgumentException: Uri lacks 'file' scheme: content://***.provider/files/06082021_113127.jpg
我做什么 :
private var uri: Uri? = null
binding.camera.setOnClickListener {
val name = LocalDateTime.now().generateFileName()
val file = File(requireContext().filesDir, "$name.jpg")
uri = FileProvider.getUriForFile(
requireContext(),
requireContext().packageName + ".provider",
file
)
takePicture.launch(uri)
}
private val takePicture = registerForActivityResult(ActivityResultContracts.TakePicture()) { success: Boolean ->
val test = uri?.path?.let { File(it) }
val test2 = uri?.toFile()
Log.e("test", "${test?.name}")
Log.e("test2", "${test2?.name}")
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙解释一下吗?
| 归档时间: |
|
| 查看次数: |
1884 次 |
| 最近记录: |