【发布时间】:2021-06-15 20:21:29
【问题描述】:
简短的问题是:有没有办法在 Android 上启用/禁用蓝牙硬件初始化记录?如果有,怎么做?
我有 两个 “Samsung Galaxy Tab A 10.5” 设备和一个我目前正在开发的 BLE 应用程序。该应用程序在一台设备上完美运行。然而,第二个设备确实 扫描时找不到任何蓝牙设备。
这个问题是大约一个月前发现的。那些日子里,快速浏览一下 logcat 就会发现很多与HIDL 相关的错误消息。现在,几周后,HIDL 消息不再出现在 logcat 中。但是,扫描仍然不起作用。
奇怪的是,logcat 中甚至没有一条与蓝牙相关的消息,这使得调试这个问题有点困难。
编辑: 启用 HCI 监听日志只会显示一条错误消息:
*** command 'lshal debug -E android.hardware.bluetooth@1.0::IBluetoothHci/default' failed: exit code 128
很明显,其中一块平板电脑已损坏。有趣的是为什么HIDL 错误消息突然停止显示,以及如何恢复它们?
实际的问题是蓝牙,虽然初始化完成没有错误,但无法正常工作。问题是,应用如何检测到它并警告用户?
我想过通过阅读日志来检测蓝牙故障:如果扫描蓝牙设备没有产生任何结果,并且如果记录了一些 HIDL 错误消息,那么应该警告用户设备有问题运行应用程序。
现在HIDL 错误消息消失了,需要一种不同的方法。您知道如何检测蓝牙是否正常工作吗?
【问题讨论】:
标签: android bluetooth bluetooth-lowenergy android-bluetooth