首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android,Bluetooth,BTLE,GATT读取特性失败?

Android,Bluetooth,BTLE,GATT读取特性失败?
EN

Stack Overflow用户
提问于 2014-01-21 22:30:59
回答 1查看 687关注 0票数 0

我有一个我正在开发的android应用程序。这是一个BTLE应用程序,我有一些BTLE标签我需要交谈。

我做了所有的书,发现设备,GATT连接(后续绑定),写/读特征……它起作用了。

现在奇怪的是,如果我关闭并打开应用程序两次,它将停止工作。

假设我已经正确连接了一个标记,绑定并正常工作。

电话重启。在第一次->一切正常时打开应用程序。关闭应用程序,再次打开->一切正常。再次关闭应用程序,打开无法从关贸总协定回调接收任何readCharacteristic的->。

在日志中,每次尝试都没有什么不同。我记录每个调用并打印返回状态:没有区别。只有readChar回调永远不会被调用。

安卓是4.3,在不同的手机(S3,S4,Note3)上也有同样的问题(注意:在应用程序关闭时,我正确地断开了所有关贸总协定的东西)

你对检查什么有什么想法吗?或者这是一个已知的android bug?我找过了,但什么也找不到……

EN

回答 1

Stack Overflow用户

发布于 2014-01-23 16:31:28

(至少)专为BTLE设计的Android4.3上的蓝牙协议栈确实存在一些问题。我不知道这是不是特定的供应商实现,驱动程序问题,或者其他什么,但老实说,这对开发人员来说是一场噩梦。

这就是我发现的有助于改进的东西:-禁用无线-通过代码强制启用/禁用蓝牙(BluetoothAdapter方法enable()和disable())

事实上,当事情开始变得“不稳定”时,打开和关闭蓝牙确实可以解决它。这需要BLUETOOTH_ADMIN功能,显然不是我们想要的,因为它会暂时关闭所有蓝牙相关的小工具,并会向用户弹出一些对话框,用户可以在其中禁用正在进行的重启。

现在我得到了更稳定的结果。

尽管如此,谷歌(或任何我不认识的人)还是应该感到羞耻,因为它让这么糟糕的软件暴露了出来。

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

https://stackoverflow.com/questions/21260974

复制
相关文章

相似问题

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