首页 > 解决方案 > 如何在 Android 10 中创建自定义目录“/storage/emulated/0/TestDir”?

问题描述

我在 AndroidManifest.xml 中添加了以下权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

应用程序可以在 filesDir 下创建任何文件或目录(参见下面的代码)。但它不能在“/storage/emulated/0/”中创建任何自定义目录。

测试活动.java

public void test(Context context) {

    File filesDir = context.getExternalFilesDir(null);
    System.out.println("filesDir: " + filesDir.getAbsolutePath());

    File subFilesDir = new File(filesDir, "SubFilesDir");
    boolean subFilesDirCreated = subFilesDir.mkdirs();
    System.out.println("subFilesDir: " + subFilesDirCreated + ", exists: " + subFilesDir.exists());

    File testDir = new File("/storage/emulated/0/TestDir");
    boolean testDirCreated = testDir.mkdirs();
    System.out.println("testDir: " + testDirCreated + ", exists: " + testDir.exists());

}

这是输出:(无法创建 testDir!)

I/System.out: filesDir: /storage/emulated/0/Android/data/com.testapp/files
I/System.out: subFilesDir: true, exists: true
I/System.out: testDir: false, exists: false

它不应该与“root”权限相关,因为它只是“/storage/emulated/0/”。所有应用程序都应该能够在该目录中创建任何自定义文件或目录。

有什么问题?怎么修?

谢谢。

标签: javaandroidstorageandroid-permissions

解决方案


推荐阅读