在Android 7及以上版本中,由于安全性的考虑,应用程序默认无法直接在SD卡根目录下创建文件夹和文件。这是由于Android 7引入了一项名为"Scoped Storage"的安全机制,旨在保护用户的数据和隐私。
然而,开发者仍然可以通过以下方式在应用的私有目录下创建文件夹和文件:
File folder = new File(getExternalFilesDir(null), "myFolder");
if (!folder.exists()) {
folder.mkdirs();
}
File file = new File(folder, "myFile.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
File folder = new File(getFilesDir(), "myFolder");
if (!folder.exists()) {
folder.mkdirs();
}
File file = new File(folder, "myFile.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
这些方法将在应用的私有目录下创建文件夹和文件,这些文件只能由应用本身访问,其他应用无法直接访问。
对于需要在SD卡中创建文件夹和文件的特定场景,可以考虑使用Android的存储访问框架(Storage Access Framework)来请求用户授权访问SD卡。通过使用ACTION_OPEN_DOCUMENT_TREE或ACTION_OPEN_DOCUMENT等意图,应用可以请求用户选择文件夹或文件,并获得相关的访问权限。
腾讯云相关产品和产品介绍链接地址:
请注意,以上仅为腾讯云的一些相关产品,其他云计算品牌商也提供类似的产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云