Android 10 个存储 ENOENT(没有那个文件或目录)
Android 10 storage ENOENT (No such file or directory)
private fun createOutputFile(fileNumber: Int): File {
val directoryPath =
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
.toString() + File.separator + FOLDER_NAME
val file = File(directoryPath)
if (!file.exists()) {
file.mkdir()
}
val outputPath = directoryPath + File.separator + createFileName(fileNumber)
return File(outputPath)
}
此代码适用于 Android 11 和 Android 9。
在 Android 10 时抛出 open failed: ENOENT (No such file or directory)
。
使用 android:requestLegacyExternalStorage="true"
它有效。
我想摆脱 requestLegacyExternalStorage
,谁能解释一下为什么它在 Android 11 上有效而在 Android 10 上无效?有什么区别?
权限 WRITE_EXTERNAL_STORAGE
已授予。
I want to get rid of requestLegacyExternalStorage
没有。编号编号
你为什么要这么做?
别无选择。
离开它!
需要10台,只用于10台设备。
如果您想在 Android 10 设备上使用该代码,则必须将其放入清单中。
private fun createOutputFile(fileNumber: Int): File {
val directoryPath =
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
.toString() + File.separator + FOLDER_NAME
val file = File(directoryPath)
if (!file.exists()) {
file.mkdir()
}
val outputPath = directoryPath + File.separator + createFileName(fileNumber)
return File(outputPath)
}
此代码适用于 Android 11 和 Android 9。
在 Android 10 时抛出 open failed: ENOENT (No such file or directory)
。
使用 android:requestLegacyExternalStorage="true"
它有效。
我想摆脱 requestLegacyExternalStorage
,谁能解释一下为什么它在 Android 11 上有效而在 Android 10 上无效?有什么区别?
权限 WRITE_EXTERNAL_STORAGE
已授予。
I want to get rid of requestLegacyExternalStorage
没有。编号编号
你为什么要这么做?
别无选择。
离开它!
需要10台,只用于10台设备。
如果您想在 Android 10 设备上使用该代码,则必须将其放入清单中。