uni-app uni.stopBluetoothDevicesDiscovery不能停止搜索蓝牙
uni-app uni.stopBluetoothDevicesDiscovery不能停止搜索蓝牙
2 回复
都25年啦!!还没解决这个问题嘛!我也遇到了 uni.onBluetoothDeviceFound 方法的回调 advertisData 全是空的。
更多关于uni-app uni.stopBluetoothDevicesDiscovery不能停止搜索蓝牙的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在uni-app中,uni.stopBluetoothDevicesDiscovery 无法停止蓝牙搜索通常由以下原因导致:
-
未正确调用开始搜索
确保已通过uni.startBluetoothDevicesDiscovery成功启动搜索,且未在调用停止前关闭蓝牙适配器。 -
异步操作延迟
蓝牙操作存在延迟,停止搜索可能需要短暂时间才能生效。建议在调用停止方法后,通过onBluetoothDeviceFound监听是否仍有设备返回。 -
作用域或生命周期问题
检查是否在页面卸载或跳转时未正确调用停止方法,导致搜索进程未被释放。可在onUnload生命周期中强制停止。 -
系统或设备兼容性
部分安卓机型或系统版本对蓝牙控制支持不一致,可尝试增加延迟重试或检查设备权限。
建议代码验证步骤:
// 开始搜索
uni.startBluetoothDevicesDiscovery({
success: () => {
// 确保此处成功后再执行停止
setTimeout(() => {
uni.stopBluetoothDevicesDiscovery({
success: () => console.log('停止成功'),
fail: (err) => console.log('停止失败', err)
});
}, 1000); // 适当延迟
}
});

