Android-位置权限-来自警报框的响应

时间:2019-11-12 06:52:57

标签: android react-native mobile

enter image description here

大家好,

我正在使用React Native开发应用程序。

我如何知道在Android上为此警报框按下的值?

我实际上需要立即侦听该警报框的响应,以在后台屏幕上显示组件。如果访问被拒绝,我将显示组件X,否则显示组件Y。

感谢和亲切问候, 阿维纳什

1 个答案:

答案 0 :(得分:1)

constructor(props){
  super(props)
  this.setState({
      hasPermission:false
   })
}
requestMultiplePermission =  async () => {
const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.CAMERA,
      {
        title: 'Cool Photo App Camera Permission',
        message:
          'Cool Photo App needs access to your camera ' +
          'so you can take awesome pictures.',
        buttonNeutral: 'Ask Me Later',
        buttonNegative: 'Cancel',
        buttonPositive: 'OK',
      },
    );
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      console.log('You can use the camera');
      this.setState({hasPermission:true})
    } else {
      console.log('Camera permission denied');
    }

}

componentDidMound() => {
   if(Platform.OS == "android"){
   this.requestMultiplePermission()
   }
}

render() {

  return(
     ...
     {this.state.hasPermission && <View><Text>has permission</Text></View>}
     {!this.state.hasPermission && <View><Text>not have permission</Text> 
     </View>}

     ...

   )

}

返回的结果是获得许可的结果。
每次使用权限时,都应先进行检查。