gpt4 book ai didi

android - BluetoothGatt 显示 10,000 个相同的服务特征

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:07 26 4
gpt4 key购买 nike

我遇到了一个让我完全困惑的问题,主要是因为它的顽固性。

我正在编写一个小型 Android 应用程序来与我的 Bluegiga BLE113 进行通信。我以前连接过这个设备,但我最近做了一个 GATT 修改,但没有反射(reflect)在 Android 设备上(在我尝试的所有应用程序中都没有 - 我从桌面和 iOS 应用程序验证我的 GATT 已更新正如预期的那样)。

我尝试关闭/打开蓝牙并重新启动我的 Nexus 7,但仍然没有任何反应。最后,我绝望了,尝试了这里提到的解决方案:https://stackoverflow.com/a/22709467/992509它使用反射来命中一个名为 refresh 的私有(private) BluetoothGatt 方法。

它似乎完美地工作,因为我的新服务正在出现,但是,我遇到的是我的服务(只有 1 个特征)显示了数百个具有相同 UUID 的特征。每次我运行我的应用程序时,相同特征的数量都会攀升,甚至通过设备重启和 BT 循环。

最后,我绝望了,在我的 Nexus 上恢复了出厂设置(这是一个测试设备,所以我不在乎)。没有解决任何问题,这张图片显示了我所看到的(10k 特征):

BluetoothGatt with 10k characteristics

我的 BLE113 GATT 看起来像这样:

<service uuid="deadbeef-cdcd-cdcd-cdcd-cdcdcdcdcdcd">
<description>Debugging Service</description>
<characteristic uuid="deadbeef-0000-0000-0000-000000000000" id="xgatt_debug">
<description>Debugging output</description>
<properties read="true" notify="true" />
<value length="20" />
</characteristic>
</service>

Android 代码基本上只是一个 BluetoothGatt.discoverServices()(这是我第一次看到这种情况)。

再一次,我尝试过重置 BT、重启我的 Nexus 并恢复出厂设置。此外,我已经确认我的 BLE 外围设备通过桌面应用程序和 iOS 完全按照预期工作。

我在 Nexus 7 上运行 5.0.2,我的应用程序目标是 4.4。

最佳答案

您正在实现黑客攻击以调用未公开提供的方法。你不知道你定制的固件对那个方法做了什么修改。

该 hack 对某些人有效(如您展示的问答中所示),但不能保证在所有地方都有效。

关于android - BluetoothGatt 显示 10,000 个相同的服务特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29179958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com