react-native-beacons-manager扫描beacons为空数组(android)--工作笔记

在使用react-native-beacons-manager时遇到Android设备扫描iBeacons返回空数组的问题,即使蓝牙已开启。解决方法是在AndroidMainfest.xml中添加相应权限,并在组件内请求地址查询权限。参考完整示例代码以正确配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先看看自己的设备是否开启了蓝牙功能,如果开启了依旧为空。

解决办法

android/app/src/main/AndroidMainfest.xml 添加

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
//在需要使用的组件中,引入PermissionsAndroid,

然后在使用的组件内获取地址查询权限

import {
  Text,
  View,
  PermissionsAndroid,
  TouchableOpacity,
} from 'react-native';

<TouchableOpacity
          style={styles.button_view}
          onPress={this.requestLocationPermission.bind(this)}>
          <Text>申请访问地址权限</Text>
        </TouchableOpacity>

 async requestLocationPermission() {
    try {
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
        {
          //第一次请求拒绝后提示用户你为什么要这个权限
          title: '我要地址查询权限',
          message: '没权限我不能工作,同意就好了',
        },
      );

      if (granted === PermissionsAndroid.RESULTS.GRANTED) {
        console.log('你已获取了地址查询权限');
      } else {
        console.log('获取地址查询失败');
      }
    } catch (err) {
      console.log(err.toString());
    }
  }

完整示例代码见

react-native-beacons-manager在Android上的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值