【问题标题】:React Native check if I have permissionReact Native 检查我是否有权限
【发布时间】:2021-03-02 01:57:36
【问题描述】:

我编写了一个记录音频并进行实时分析的应用程序。为此,我必须首先请求使用麦克风的权限,因此我为此制作了一个单独的按钮,但我不喜欢该解决方案。按钮运行这个函数:

const requestMicrophone = async () => {
  //replace your function with this code.
  if (Platform.OS === 'android') {
    try {
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
        {
          title: 'Permissions for record audio',
          message: 'Give permission to your device to record audio',
          buttonPositive: 'ok',
        },
      );
      if (granted === PermissionsAndroid.RESULTS.GRANTED) {
        console.log('permission granted');
      } else {
        console.log('permission denied');
        return;
      }
    } catch (err) {
      console.warn(err);
      return;
    }
  }
};

现在我想检查我是否有权使用麦克风。如果是这样渲染录制组件。我试过这个:

if (PermissionsAndroid.PERMISSIONS.RECORD_AUDIO) {
      rec = <Recorder/>;
    } else {
      rec = <Text>Ask for microphone permission first!</Text>;
    }

但这并不能检查我是否有权使用麦克风。我从中得到什么

console.log(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO);

只是

[Wed Nov 18 2020 18:59:44.878]  LOG      android.permission.RECORD_AUDIO

我只是找不到任何地方如何检查我是否有权使用麦克风?

【问题讨论】:

    标签: javascript reactjs permissions native


    【解决方案1】:

    我在谷歌搜索后找到了答案:

    export const checkMicrophone = async () => {
       const result = await PermissionsAndroid.check(
          PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
       );
       return result;
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-30
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 2016-09-12
      • 2013-12-09
      • 2020-11-05
      相关资源
      最近更新 更多