我无法在我的 React Native 应用程序中访问外部存储的内容

I am not able to access contents from External Storage in my React Native App

我正在使用 react-native-fs 构建类似应用程序的媒体播放器,但我无法访问我的项目文件夹之外的目录,我已经添加了这些权限:

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

我也在使用以下代码检查读写权限:

    PermissionsAndroid.check(
      PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
    ).then(granted => {
      if (!granted) {
        PermissionsAndroid.requestMultiple([
          PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
          PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
        ]).then(result => {
          console.log(result);
        });
      }
    });

RNFS.readDir() 抛出空错误:

  const path = RNFS.ExternalStorageDirectoryPath;
  RNFS.readDir(path).then(result => {
    console.log('GOT RESULT', result);
  });

抛出的错误是:

[Error: Attempt to get length of null array]

请检查/尝试以下操作

  1. 在设备设置中允许应用程序的存储权限。
  2. 通过添加 android:requestLegacyExternalStorage="true"
  3. 尝试像下面这样更新清单

<manifest ... >
  <application android:requestLegacyExternalStorage="true" ... >
    ...
  </application>
</manifest>