收藏
回答

wx.getSystemInfo和wx.getSystemSetting只返回第一次调用的结果吗?

wx.getSystemInfo和wx.getSystemSetting这两个方法,只会返回进入页面后第一次调用的结果吗?

比如我进入页面后调用了一次,此时蓝牙开关没打开,所以返回的bluetoothEnabled: false

然后我打开蓝牙开关,再次调用该方法,返回的还是bluetoothEnabled: false

同理,如果第一次调用时bluetoothEnabled: true, 我关掉蓝牙再调用时,还是true

微信版本号:8.0.15

调试基础库:2.14.4

手机型号:iphone 12

操作系统:iOS 14.7

如果确实是这样,有没有什么api可以监听蓝牙开关打开或关闭的?

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

2 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2021-11-08

    可以调用wx.openBluetoothAdapter,在回调fail后监听wx.onBluetoothAdapterStateChange事件,available为true即为蓝牙开启;如果wx.openBluetoothAdapter回调success则已开启蓝牙

    2021-11-08
    有用
    回复 3
    • 稚柠吖
      稚柠吖
      2022-03-01
      现在调用wx.openBluetoothAdapter这个会弹起授权询问,如果我蓝牙打开与不打开需要处理两种逻辑,那我不打开蓝牙处理的逻辑还要弹起是否授权蓝牙么?不太好吧
      2022-03-01
      回复
    • 武康
      武康
      09-11
      如果说打开了系统蓝牙,但是没有打开微信的蓝牙权限,这个时候通过onBluetoothAdapterStateChange监听也会是false吧,这个时候应该引导用户去开启微信的蓝牙权限了,但是系统没有办法准确的判断是因为系统蓝牙没有开还是因为微信蓝牙没有开导致的结果为false,没有办法准确的引导用户。
      09-11
      回复
    • 武康
      武康
      09-11回复武康
      在页面onshow里,我用setTimeout延迟1s后通过getSystemSetting获取权限是正确的,请问这个权限是缓存多长时间
      09-11
      回复
  • 老张
    老张
    2021-11-04

    谢邀。 有用。

    以上没研究过。

    不管属实与否,先mark一下,等将来有用。

    2021-11-04
    有用
    回复 1
    • 依冉
      依冉
      2021-11-04
      大佬有空帮忙研究下
      2021-11-04
      回复
登录 后发表内容