雨中晒太阳
雨中晒太阳
  • 发布:2020-06-08 19:10
  • 更新:2022-02-28 10:36
  • 阅读:1243

在自定义基座的情况下,使用Native.js监听BroadcastReceiver,搜索不到蓝牙设备

分类:uni-app
  1. 我按照native.js官方例子写了一个搜索蓝牙设备并连接蓝牙设备的例子:代码如图

    一开始这段代码是可以正常运行的,可以搜索到设备,但是后来因为要用到原生插件,真机调试时就得换自定义基座,换了之后,这段代码还是可以运行,但是只在搜索完成后触发一次onReceive回调,之前,是每搜索到一个设备就会触发一次onReceive回调。一开始我以为是manifest.json权限问题,但是当我把蓝牙权限选上之后重新打基座后,还是不行,后来我看还有几个广播我也一并勾上了,再次尝试,还是不行,后来我把所有权限都给勾上了,还是不行,我就发现可能不是权限问题,敢问各位大佬,这到底是什么导致的!

2020-06-08 19:10 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

建议优先考虑使用蓝牙API:https://www.html5plus.org/doc/zh_cn/bluetooth.html

舒瑶

舒瑶

这个问题解决了吗?我也碰到一样的问题

2***@qq.com

2***@qq.com

在执行这些代码之前先初始化蓝牙uni.openBluetoothAdapter()试试,我这样做就能搜索设备了

  • 2***@qq.com

    现在又试了一下,好像还是不行。但是有一次确实能搜索到了 (ノへ ̄、)

    2022-02-28 11:30

  • 2***@qq.com

    找到原因了,应该是我之前用uni中的方法搜索过蓝牙,接着又使用了native中广播监听等方法,所以就搜索到了。我试了一下,在使用native中的广播监听之前调用uni.startBluetoothDevicesDiscovery()这个方法,不论方法成功还是失败,都能在广播中监听到搜索的设备

    2022-02-28 14:11

  • 1***@qq.com

    回复 2***@qq.com: 这个确实有用,谢谢了

    2022-08-31 09:40

该问题目前已经被锁定, 无法添加新回复