安卓中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 },但是位置信息服务是已经开启的状态

更多关于安卓中uni-app uni.startBluetoothDevicesDiscovery方法搜索蓝牙设备的时候报10016(fail Location services are turned off)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我的也是遇到同样问题 魅族手机 安卓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和网络定位)。虽然您确认已开启位置服务,但可能还存在以下问题:
- 权限配置不足 在manifest.json中需要添加定位权限:
"permissions": {
"android": {
"permissions": [
"android.permission.ACCESS_FINE_LOCATION",
"android.permission.ACCESS_COARSE_LOCATION"
]
}
}
- 动态权限未获取 需要在代码中请求定位权限:
// 检查并申请定位权限
uni.authorize({
scope: 'scope.location',
success: () => {
uni.startBluetoothDevicesDiscovery({
success: (res) => {
console.log('蓝牙搜索成功', res)
},
fail: (err) => {
console.log('蓝牙搜索失败', err)
}
})
},
fail: () => {
uni.showToast({
title: '需要位置权限才能搜索蓝牙设备',
icon: 'none'
})
}
})

