uni-app安卓12蓝牙低功耗蓝牙uni.onBluetoothDeviceFound还是advertisData获取到还是空对象

uni-app安卓12蓝牙低功耗蓝牙uni.onBluetoothDeviceFound还是advertisData获取到还是空对象

2 回复

如果 uni api 现在提供的功能不满足需求,可以在插件市场搜索蓝牙试用三方插件进行测试,或者可参考 UTS 插件介绍 和 原生混编 自己封装安卓蓝牙。

更多关于uni-app安卓12蓝牙低功耗蓝牙uni.onBluetoothDeviceFound还是advertisData获取到还是空对象的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在安卓12设备上使用uni.onBluetoothDeviceFound时,advertisData返回空对象通常与系统权限策略变更有关。以下是关键点:

  1. 蓝牙扫描限制:安卓12(API 31+)对蓝牙扫描施加更严格的权限要求。除BLUETOOTH_SCAN权限外,还需在manifest中声明android:usesPermissionFlags="neverForLocation",避免系统因位置权限限制数据获取。

  2. 过滤设备类型:安卓12默认过滤无明确广播数据的BLE设备。建议在startBluetoothDevicesDiscovery时指定services参数,例如:

    uni.startBluetoothDevicesDiscovery({
      services: ['0000FFF0-0000-1000-8000-00805F9B34FB'],
      allowDuplicatesKey: true
    });
回到顶部