我正在编写一个 Android 应用程序(ICS 4.0.3)来发现设备并列出它们的 UUID。
该应用程序会进行蓝牙设备发现,并在找到设备时将其保存。一旦设备发现完成,它会返回它保存的所有设备并执行 fetchUUidsWithSdp() ,然后在广播接收器中打印出它找到的 UUID。
当应用程序运行时,我得到每两组响应,每组包含它发现的所有设备上的所有 UUID。
这是它应该工作的方式吗?
我在文档中看到:
如果在获取 SDP 记录时出错或该过程需要很长时间,则 ACTION_UUID 意图将与缓存中当前存在的 UUID 一起发送。
两组响应都很快,但我猜第一组可能来自缓存,第二组来自远程设备。
该代码可以在http://digitalhacksblog.blogspot.com/2012/05/android-example-bluetooth-discover-and.html找到。