收藏
回答

iPhone4蓝牙状态获取不到

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS 14. iPhone4 8.0.29

iPhone4,微信版本8.0.29,不论系统蓝牙是否开启,wx.openBluetoothAdapter获取的蓝牙状态始终不可用(state为3),

wx.getSetting获取的权限状态始终为true,

最终蓝牙不可用,未授权,如果直接使用蓝牙会失败

wx.openBluetoothAdapter({ //调用微信小程序api 打开蓝牙适配器接口 success: function (res) { console.log(res,'--------ios蓝牙适配状态成功'); const { item } = e.currentTarget.dataset; _this.setData({ _lockId: item.deviceId, usrID: item.usrId, _signKey: item.authKey, _keyId: item.keyId, _superAdminId: item.superAdminId, userItem: item }) console.log(item, '----------------当前点击的锁'); console.log(_this.data.isConnect, '----------------是否连接'); if (!_this.data.isConnect) { _this.setData({ isConnect: true, }) wx.showToast({ title: '已成功匹配蓝牙,请点击开锁', icon: 'none' }) _this.setData({ isLoading: false }) } else { _this.setData({ isLoading: false }) _this.toOpenDoor(item.lockData, item.lockMac) } }, fail: function (res) { //如果手机上的蓝牙没有打开,提醒用户 console.log(res,'--------ios蓝牙适配状态失败'); _this.setData({ isLoading: false }) if (res.state == 3) { var _that = _this wx.getSetting({ //获取向用户请求过的权限 success(res) { console.log(res,'---------ios用户权限'); //判断是否有'scope.bluetooth'属性,即是否向用户请求过蓝牙权限 if (res.authSetting.hasOwnProperty('scope.bluetooth')) { //'scope.bluetooth'属性存在,且为false,即之前用户拒绝了授权蓝牙权限 if (!res.authSetting['scope.bluetooth']) { //打开权限设置界面 wx.openSetting({ success(res) { console.log(res.authSetting) wx.showToast({ title: '已打开权限设置', icon: 'none' }) } }) } else { //打开权限设置界面 wx.openSetting({ success(res) { console.log(res.authSetting) wx.showToast({ title: '蓝牙权限设置已开启', icon: 'none' }) } }) } } else //'scope.bluetooth'属性不存在,没有向用户请求过蓝牙权限,需要授权 wx.authorize({ scope: 'scope.bluetooth', success() { // 用户已经同意小程序使用手机蓝牙功能,后续调用 蓝牙 接口不会弹窗询问 console.log(res.authSetting) wx.showToast({ title: '授权蓝牙权限', icon: 'none' }) } }) } }) } else { wx.showModal({ content: `使用蓝牙开锁需要开启系统蓝牙功能`, showCancel: false, confirmText: '知道了', success(res) { if (res.confirm) { console.log('用户点击确定') } else if (res.cancel) { console.log('用户点击取消') } } }) } } })
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2023-03-30

    你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

    2023-03-30
    有用
    回复 6
    • 冰
      2023-03-31
      好的,上传了
      2023-03-31
      回复
    • 冰
      2023-03-31
      刚上传的,2023.3.31 15:00-16:00的
      2023-03-31
      回复
    • 社区技术运营专员--阳光
      社区技术运营专员--阳光
      2023-04-10回复
      需要提供下微信号,你再复现一下吧
      2023-04-10
      回复
    • 冰
      2023-04-26回复社区技术运营专员--阳光
      微信号:Uniquexm
      版本号:8.0.29
      时间:2023.4.26 13:00-15:00
      2023-04-26
      回复
    • 社区技术运营专员--阳光
      社区技术运营专员--阳光
      2023-05-06回复
      检查一下系统设置-隐私-蓝牙里面是否已授权微信蓝牙权限,可以通过wx.getAppAuthorizeSetting的bluetoothAuthorized字段获取授权情况
      2023-05-06
      回复
    查看更多(1)
登录 后发表内容