首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ble设备与电话配对不一致

Ble设备与电话配对不一致
EN

Stack Overflow用户
提问于 2019-11-09 23:27:18
回答 1查看 57关注 0票数 0

我有一个设备,我需要定期安全和持续地从中提取数据。因此,在启动时,我希望确保绑定设备,如果它还没有。在本例中,我有设备的Mac地址。

代码语言:javascript
复制
public void startApp(){
    remoteDevice = bluetoothManager.getAdapter().getRemoteDevice(MAC_AD);
    if(remoteDevice.getBondState()!=12){
        remoteDevice.createBond();
    }
}

最终发生的情况是,键合状态将在未键合和currently_bonding之间交替,但不是完全键合。

奇怪的是,有时它会起作用,但通常不会,特别是在我的google像素上。通过设置连接也是非常不一致的。

有没有办法重试这个或某种蓝牙重置,以便我可以一致地粘合?

我尝试过间隔地调用createBond();

EN

回答 1

Stack Overflow用户

发布于 2019-11-12 00:18:23

我经常发现,直接调用createBond()可能会产生偶然的结果,这取决于平台(两端)。从逻辑上讲,它应该在内部使用相同的机制,但我倾向于通过在具有绑定需求的简单特征上调用read来获得更好的结果。

它要么成功-意味着你的连接是绑定的-你可以继续。或者它失败了,这会在内部触发绑定,然后您可以在短暂的延迟后重试,此时它应该被绑定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58780678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档