在React Native应用程序中返回null的权限

问题描述 投票:0回答:1

当我请求 MANAGE_EXTERNAL_STORAGE 时出现空权限错误。在反应本机应用程序中。当我去扔文档时(https://reactnative.dev/docs/permissionsandroid)没有这样的权限,但实际上,为了访问隐藏文件,我们需要这个权限。 如果我在 androidmanifest.xml 文件中授予相同的权限,甚至不询问用户。

清单文件

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

const pm1 = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE); // 
    const pm2 = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE);
    const pm3 = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.MANAGE_EXTERNAL_STORAGE); // ACCESS_MEDIA_LOCATION

    if (pm1 && pm2) return true
    const userResponse = await PermissionsAndroid.requestMultiple([
      PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
      PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE.at,
      PermissionsAndroid.PERMISSIONS.MANAGE_EXTERNAL_STORAGE
    ]);

android reactjs react-native android-studio android-permissions
1个回答
0
投票

根据谷歌的新指南,我们不能请求 MANAGE_EXTERNAL_STORAGE 权限,此特定权限仅保留给少数应用程序(例如防病毒和文件管理器),仅当您请求此权限时,您需要向谷歌游戏商店提供如此多的解释,但如果您仍然需要此权限,您可以使用以下代码请求,这将帮助用户导航权限页面。

包:react-native-intent-launcher

 IntentLauncher.startActivity({
       action: 'android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION',
       data: 'package:com.yourpackageNameHere'
     })
© www.soinside.com 2019 - 2024. All rights reserved.