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

时间:2011-01-07 13:08:31

标签: java bluecove

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

我正在使用bluecove(java)。

1 个答案:

答案 0 :(得分:5)

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

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

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

public class MyRemoteDevice extends javax.Bluetooth.RemoteDevice {
  public MyRemoteDevice(String addr) {
    super(addr);
  }
}

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