收藏
回答

部分手机如oppo使用低功耗蓝牙时无法搜索到设备,定位没有打开的提示

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug onBluetoothDeviceFound 客户端 7.0.3 2.6.5

部分手机如oppo使用低功耗蓝牙时无法搜索到设备,官方问答中有提到需要打开定位才能搜索到,并且wx.onBluetoothDeviceFound()会提示没有打开GPS,但是我试了下搜索不到蓝牙时不会触发wx.onBluetoothDeviceFound(),请问有没有人知道怎么写才能看到定位没有打开的提示

下图是用OPPO r15测试文档里的例子

wx.onBluetoothDeviceFound((res) => {

console.log(res);

})

这样写貌似不行,只有有设备时console.log里面才会有内容,报错内容怎么写才能看到呢?

代码片段就是文档给的例子,我在onBluetoothDeviceFound里面加了console.log,打印出来是undefined(下图1),openBluetoothAdapter和startBluetoothDevicesDiscovery都成功了






回答关注问题邀请回答
收藏

2 个回答

  • Tummy
    Tummy
    2019-04-11

    1.

    前有回复说onBluetoothDeviceFound会提示打开定位

    ---

    并没有这种参数,自己搞吧


    2.

    可以这么搞

    严格策略:

    可直接getSystemInfo判断是否有位置权限(系统对微信小程序权限)&位置开关是否打开,若无则提醒用户打开


    其他策略:(非全部手机都需要位置权限才能搜索)

    调用start后,定时检测下是否有搜索到设备,一般一个设备都没有搜索到就是因为位置的原因导致,提醒用户打开


    ps:

    Android会有这何种问题。


    2019-04-11
    有用
    回复 2
    • Gavin
      Gavin
      2019-04-11

      你好,请教一个问题,

      A小程序能能否转发B小程序链接

      同一个公众号下两个小程序:供角色A使用的小程序A和供角色B使用的小程序B

      角色A通过小程序A编辑并分享条目链接给角色B,角色B在小程序B打开该链接处理条目

      原问题在:

      https://developers.weixin.qq.com/community/develop/doc/0002e6172e8af0601b58c7af351800

      没有官方回复


      2019-04-11
      回复
    • 永奎🇨🇳
      永奎🇨🇳
      2019-04-12

      感谢回复,这个方法太曲线救国了,目前只能这样了。另外你们官方回复也有不专业的时候,害我研究了半天。

      2019-04-12
      回复
  • 是小白啊
    是小白啊
    2019-04-11

    手机开启gps试下?

    2019-04-11
    有用
    回复 3
    • 永奎🇨🇳
      永奎🇨🇳
      2019-04-11

      我知道要开启GPS,我的问题是怎么提示用户要开启GPS,不能什么手机一上来就提示开GPS吧,之前有回复说onBluetoothDeviceFound会提示打开定位,我现在想知道怎么写才能看到打开定位的提示

      2019-04-11
      回复
    • 是小白啊
      是小白啊
      2019-04-11回复永奎🇨🇳

      可尝试在失败里面弹窗提示下开发者检查下是否开启

      2019-04-11
      回复
    • 永奎🇨🇳
      永奎🇨🇳
      2019-04-11回复是小白啊

      onBluetoothDeviceFound这个函数的失败怎么写,请说具体点或者给我个例子,它不是只有一个回调函数吗?wx.onBluetoothDeviceFound(function callback)


      2019-04-11
      回复
登录 后发表内容