【问题标题】:React Native Permissions not printing the statusReact Native Permissions 不打印状态
【发布时间】:2017-03-21 18:37:21
【问题描述】:

我正在使用 React Native 版本 42 并要求如下权限。但是在允许或拒绝权限后,我没有在控制台中看到状态。根据文档https://facebook.github.io/react-native/docs/permissionsandroid.html 他们说我们可以在控制台中看到状态。任何人都可以帮助我做错了什么。我想打印已授予的状态,但该行本身没有被调用。

componentDidMount() {       
this.requestPermissions();
}

async requestPermissions() {

    try {  
        const granted = await PermissionsAndroid.requestMultiple([PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, PermissionsAndroid.PERMISSIONS.READ_PHONE_STATE, PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE])
        console.log("permissions status: " +JSON.stringify(granted));
    } catch (err) {
        console.warn(err)
    }
}

【问题讨论】:

    标签: android facebook react-native


    【解决方案1】:

    PermissionAndroid.requestMultiple 返回一个带有权限状态的承诺。像这样试试

    PermissionsAndroid.requestMultiple([PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, PermissionsAndroid.PERMISSIONS.READ_PHONE_STATE, PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE]).then((result) => {
      console.log('result', result);
    })
    

    【讨论】:

    • 尝试将其直接粘贴到 componentDidMount() 中,看看是否有效。您是否从“react-native”导入 PermissionAndroid?你使用的是什么版本的 React native?
    • Hell@Hariks 你能给出你所指的使用链接
    • 我正在使用 react-native-permissions 模块,它为此工作吗?
    • 这个答案应该可以,但您需要将结果转换为字符串才能在控制台中查看,即console.log('result', JSON.stringify(result));
    猜你喜欢
    • 1970-01-01
    • 2018-07-08
    • 2020-04-05
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 2020-07-19
    • 2019-03-02
    相关资源
    最近更新 更多