我正在编写一个从蓝牙设备接收信息的 Android 应用程序。我们的客户建议蓝牙设备(他们生产的)将根据某些条件更改其名称 - 最简单的示例,它的名称有时是“xxx-ON”,有时是“xxx-OFF”。我的应用程序只是应该寻找这个 BT 发射器(我使用 BluetoothAdapter.startDiscovery() )并根据它找到的名称做不同的事情。我没有与蓝牙设备配对(尽管我认为它可能是可能的,该应用程序最终应该可以与多个 Android 设备和多个 BT 发射器一起使用,所以我不确定这是否是一个好主意)。
我的代码可以很好地检测 BT 设备并找到它们的名称。此外,如果设备关闭,我可以在下次搜索时检测到它不存在。但似乎如果它在那里并且它改变了名称,我会选择旧名称 - 大概它被缓存在某个地方。即使蓝牙设备关闭,我们注意到,下次我检测到它时,我仍然会看到旧名称。
我在 Google Code: here中发现了这个问题,但我什至不清楚如何使用给定的解决方法(“尝试连接”)。有没有人这样做并且有运气?可以分享代码吗?
有没有一种简单的方法可以删除缓存的名称并再次搜索,这样我总能找到最新的名称?即使是一种非简单的方法也很好(我正在为有根设备编写)。
谢谢