我有一个临时文件,用于从裁剪库创建图像。我可以在设备文件浏览器中看到该文件,但是当我尝试打开该文件时,出现以下错误:
java.io.FileNotFoundException: file:/data/user/0/com.example.demo/cache/.tmp/cropped1651879842159823361.png: open failed: ENOENT (No such file or directory)
以下是创建该文件的方式:
val croppedImageFile = File.createTempFile("cropped", ".png", viewModel.tempPath)
val destinationUri = Uri.fromFile(croppedImageFile)
viewModel.tempPath 只是以下内容:
viewModel.tempPath = "${this.cacheDir}/.tmp"
我可以看到文件已创建并且有效,但当我尝试访问它时,它声称不存在。我只是通过在视图模型中执行File(uri.toString())
打开文件。
我不确定出了什么问题或者为什么无法找到该文件。如果这有关系的话,我正在使用具有 Google Play 并且是 Android 11 的模拟器。
AndroidManifest.xml
应用程序标签中添加android:requestLegacyExternalStorage="true"
。 - Abu bakar