安卓中uni-app uni.startBluetoothDevicesDiscovery方法搜索蓝牙设备的时候报10016(fail Location services are turned off)

安卓中uni-app uni.startBluetoothDevicesDiscovery方法搜索蓝牙设备的时候报10016(fail Location services are turned off)

操作步骤:

  • 调用uni.startBluetoothDevicesDiscovery就可复现

预期结果:

  • uni.startBluetoothDevicesDiscovery正常返回蓝牙设备数据

实际结果:

  • 报{ “errMsg”: “startBluetoothDevicesDiscovery:fail Location services are turned off”, “errCode”: 10016, “code”: 10016 }

bug描述:

  • 调用uni.startBluetoothDevicesDiscovery方法搜索蓝牙设备的时候报{ “errMsg”: “startBluetoothDevicesDiscovery:fail Location services are turned off”, “errCode”: 10016, “code”: 10016 },但是位置信息服务是已经开启的状态

Image Image


更多关于安卓中uni-app uni.startBluetoothDevicesDiscovery方法搜索蓝牙设备的时候报10016(fail Location services are turned off)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

11 回复

我的也是遇到同样问题 魅族手机 安卓14会出现

更多关于安卓中uni-app uni.startBluetoothDevicesDiscovery方法搜索蓝牙设备的时候报10016(fail Location services are turned off)的实战教程也可以访问 https://www.itying.com/category-93-b0.html


之前还好好的 就把HB版本升级到4.75 就这样了官方怎么还不解决呀?

这个问题处理了吗

现在是把hbuderx 退回的4.65的版本了,新版本话是有这个问题

我也遇到了这个问题,这都4个月了,居然还没解决,佩服

你有解决吗

回复 7***@qq.com: 按作者的办法,hbuilderx回退到4.65才可以

回复 8***@qq.com: 搜索是不报错了,可以了,但是啥都搜不到了

还是有这个问题

我也遇到这个问题,但后面发现是手机没开定位

这个错误是因为Android系统要求蓝牙扫描必须开启位置服务(包括GPS和网络定位)。虽然您确认已开启位置服务,但可能还存在以下问题:

  1. 权限配置不足 在manifest.json中需要添加定位权限:
"permissions": {
    "android": {
        "permissions": [
            "android.permission.ACCESS_FINE_LOCATION",
            "android.permission.ACCESS_COARSE_LOCATION"
        ]
    }
}
  1. 动态权限未获取 需要在代码中请求定位权限:
// 检查并申请定位权限
uni.authorize({
    scope: 'scope.location',
    success: () => {
        uni.startBluetoothDevicesDiscovery({
            success: (res) => {
                console.log('蓝牙搜索成功', res)
            },
            fail: (err) => {
                console.log('蓝牙搜索失败', err)
            }
        })
    },
    fail: () => {
        uni.showToast({
            title: '需要位置权限才能搜索蓝牙设备',
            icon: 'none'
        })
    }
})
回到顶部