【问题标题】:How to check if user has granted camera permission in React Native Android?如何检查用户是否已在 React Native Android 中授予相机权限?
【发布时间】:2018-06-07 06:44:31
【问题描述】:

应用程序启动后,我立即从用户那里获得使用相机的权限。但是在打开摄像头之前,如果我检查用户是否授予摄像头权限,即使允许,我也会得到“假”的响应。

这是我的代码:

PermissionsAndroid.check('camera').then(response => {
            if (response === true){
                //Open scanner
            }
            else if (response === false){
                Alert("Please enable camera permission in device settings.")
            }
        })

【问题讨论】:

    标签: android react-native android-camera react-native-android react-native-camera


    【解决方案1】:

    请尝试以下方法:

    PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA).then(response => { ..
    

    而不是

    PermissionsAndroid.check('camera').then(response => { ..
    

    【讨论】:

      【解决方案2】:

      这里我用的是asyncawaitpromise,稍微好理解一点。

      import {PermissionsAndroid} from 'react-native';
      
      export const checkReadContactsPermission = async ()=>{    
      
        //result would be false if not granted and true if required permission is granted.
        const result =  await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA);
        return result;
      }
      

      【讨论】:

        【解决方案3】:

        首先导入依赖

        import { PermissionsAndroid, Platform } from 'react-native';
        

        然后在您的活动中使用以下代码

        if(Platform.OS=="android"){
              const permissionAndroid = await PermissionsAndroid.check('android.permission.CAMERA');
              if(permissionAndroid != PermissionsAndroid.RESULTS.granted){
                const reqPer = await PermissionsAndroid.request('android.permission.CAMERA');
                if(reqPer != 'granted'){
                  return false;
                }
              }
            }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-17
          • 1970-01-01
          相关资源
          最近更新 更多