检测具有已知ID的隐藏蓝牙设备

我有目标蓝牙设备MAC-ID,想看看它是否在范围内。 如果我拥有它的ID并且它处于隐藏模式,我如何建立与目标设备的连接?

我正在使用bluecove(java)。

我不确定你的“隐藏模式”是什么意思。 您可以连接到不可发现的设备,但无法连接到无法连接的设备。

通常,使用JSR-82(或Bluecove,JSR-82实现),您需要具有RemoteDevice对象才能打开连接。 获取RemoteDevice的唯一方法是通过设备搜索。 看起来你不能在你的情况下进行设备搜索,因为设备是“隐藏的”。

在Bluecove中,您会注意到RemoteDevice有一个受保护的构造函数,它接受一个蓝牙地址字符串。 您可以创建RemoteDevice的子类,只需将该构造函数RemoteDevice public。 例如:

公共类MyRemoteDevice扩展javax.Bluetooth.RemoteDevice {
   public MyRemoteDevice(String addr){
    超级(addr);将
   }
 }

然后,您可以创建MyRemoteDevice的实例,将其传递给已知的MAC地址,并使用它来打开连接。