我有目标蓝牙设备MAC-ID,想知道它是否在范围内。如果我拥有它的ID并且它处于隐藏模式,我如何建立与目标设备的连接?
我正在使用bluecove(java)。
答案 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地址,并使用它来打开连接。