Android 下允许的文件位置 11
allowed File locations under Android 11
我遇到了一个问题,因为我想为新的 Android 11 及更高版本重新编译我的应用程序。而且我认为我遇到的核心问题是这个范围内的存储。
是否有任何允许的文件路径列表,我仍然可以根据需要 read/write 或者我真的必须集成此 MediaAccess API?
我的文件路径如下:
public static string XmlFilename = "Arbeitszeiten.xml";
public static string filepath = "/storage/emulated/0/Documents/Arbeitszeiten";
直到 Android 10 它工作正常,因为我想 save/edit/read 设备上的 .xml 文件我需要一个“允许的”文件路径。我认为 Scoped Storage 阻止了对 /Android/data 和 ../obb 文件夹的访问。并且下载、图片、文档是仍然可以访问的文件夹。
我在 Android 11 in kotlin 上遇到了一个看起来像你的问题。
我是这样解决的:
我在路径 src/main/res/xml
中添加了 file_path.xml
FilePath
我使用 getExternalFilesDir 获取设备存储中的文件。
之前:
val mPath = Environment.getExternalStorageDirectory().toString() + "/Ticket_" + date + ".jpeg"
之后:
val mPath = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES).toString() + "/Ticket_" + date + ".jpeg"
希望对你有帮助:)
对我有帮助的是将清单中的最低版本调整为 Android 10 API 29 并将目标版本调整为 Android 11 API 30。由于我没有找到 android:requestLegacyExternalStorage 权限,我认为这只是一个临时解决方案,但目前它有效。
我遇到了一个问题,因为我想为新的 Android 11 及更高版本重新编译我的应用程序。而且我认为我遇到的核心问题是这个范围内的存储。 是否有任何允许的文件路径列表,我仍然可以根据需要 read/write 或者我真的必须集成此 MediaAccess API?
我的文件路径如下:
public static string XmlFilename = "Arbeitszeiten.xml";
public static string filepath = "/storage/emulated/0/Documents/Arbeitszeiten";
直到 Android 10 它工作正常,因为我想 save/edit/read 设备上的 .xml 文件我需要一个“允许的”文件路径。我认为 Scoped Storage 阻止了对 /Android/data 和 ../obb 文件夹的访问。并且下载、图片、文档是仍然可以访问的文件夹。
我在 Android 11 in kotlin 上遇到了一个看起来像你的问题。 我是这样解决的:
我在路径 src/main/res/xml
中添加了 file_path.xmlFilePath
我使用 getExternalFilesDir 获取设备存储中的文件。
之前:
val mPath = Environment.getExternalStorageDirectory().toString() + "/Ticket_" + date + ".jpeg"
之后:
val mPath = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES).toString() + "/Ticket_" + date + ".jpeg"
希望对你有帮助:)
对我有帮助的是将清单中的最低版本调整为 Android 10 API 29 并将目标版本调整为 Android 11 API 30。由于我没有找到 android:requestLegacyExternalStorage 权限,我认为这只是一个临时解决方案,但目前它有效。