我正在使用以下代码在存储中创建目录/文件。
File file = new File(Environment.getExternalStorageDirectory().toString(), "/MyDirectory");
在android 10中更新目标SDK版本29后,其无法正常工作。
有人可以建议如何在应用程序范围之外创建文件夹吗?
答案 0 :(得分:-3)
对于Android版本10:
https://stackoverflow.com/a/58379655/3811983
对于低于Android 10的Android版本: (此处包括此内容,因为没有人仅针对Android 10开发。这将为想要在其应用程序中包含此功能的任何人提供完整的答案)
这是我遵循的并正在为我工作的步骤:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Doc1 Doc2 AirPermissions(简化Android运行时权限的轻量级库)
if (Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED) {
// further code here
}
val rootFile = android.os.Environment.getExternalStorageDirectory()
val appRootFolder = File(rootFile.absolutePath + "/MyDirectory")
if (appRootFolder.exists() && appRootFolder.isDirectory) {
// proceed
} else {
val wasAppRootFolderCreated = appRootFolder.mkdirs()
if (wasAppRootFolderCreated) {
// proceed
} else {
// error: could not create the folder
}
}