1

使用https://github.com/MacKentoch/react-native-beacons-manager

我在控制台中仍然有错误:never_ask_again 我仍然有位置访问被拒绝并且不知道如何解决它。怎么了。

我的构建脚本在build.gralde

buildscript {
    ext {
        buildToolsVersion = "29.0.2"
        minSdkVersion = 16
        compileSdkVersion = 29
        targetSdkVersion = 29
    }

我在宣言的这个版本中读到“权限”添加你自己。当我手动添加权限时。react-native run-android删除此权限。

import React, { Component } from 'react';
import { View, DeviceEventEmitter, ListView , Text} from 'react-native';
import Beacons  from 'react-native-beacons-manager';
import {PermissionsAndroid} from 'react-native';


export default class App extends Component {

  async componentDidMount() {

    try {
      const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
          {
              'title': 'Location Permission',
              'message': 'Activeev needs to access your location.'
          }
      )
      console.log('here', granted);
      

      if (granted === PermissionsAndroid.RESULTS.GRANTED) {
          console.log("Location Permitted")
           // Start detecting all iBeacons in the nearby
            Beacons.detectIBeacons();

            Beacons.startRangingBeaconsInRegion('one', '2cbe4ba8-1c4d-456f-9d43-6ab72499d99c').then((data)=>{   
                console.log(data);   
            })
            .catch((reason) => {   
                console.log(reason);   
            });

            // Print a log of the detected iBeacons (1 per second)
            DeviceEventEmitter.addListener('beaconsDidRange', (data) => {
              console.log(data);
            });
      } else {
          console.log("Location permission denied")
      }

    }catch (err) {
        console.warn(err)
    }

  }  

 render(){
   return(
     <View></View>
   );
 }

}
4

0 回答 0