【发布时间】:2009-07-21 21:26:00
【问题描述】:
blackberry api 或 j2me 中是否有任何内容允许使用 MAC 地址与蓝牙设备进行通信和/或配对? (假设设备不可发现)
【问题讨论】:
标签: blackberry java-me
blackberry api 或 j2me 中是否有任何内容允许使用 MAC 地址与蓝牙设备进行通信和/或配对? (假设设备不可发现)
【问题讨论】:
标签: blackberry java-me
您想知道一般如何连接到给定 MAC 地址的设备,或者您对如何规避黑莓特定的安全/权限问题感兴趣?我不知道后一种情况,但对于第一种情况,这是一种方法:
要在远程设备上进行服务搜索,您需要一个 javax.bluetooth.RemoteDevice 类的实例,您通常使用 DiscoveryAgent 通过设备搜索来检索该实例。如果已经有设备地址,则不能直接创建 RemoteDevice 实例,因为 RemoteDevice 对应的构造函数是受保护的。
要避免这种情况,您可以创建一个扩展 RemoteDevice 的新类。在这个派生类中声明一个 public 构造函数,它接受设备地址。然后这个公共构造函数就可以调用受保护的超级构造函数:
public class MyRemoteDevice extends RemoteDevice {
public MyRemoteDevice(String addr) {
super(addr);
}
}
现在您无需进行设备扫描,也无需查询已知设备列表,即可获得特定设备地址的 RemoteDevice。
注意:虽然这种方法根据我的经验有效,但如果 RIM 在 RemoteDevice 类中实现了一些隐藏功能,如果 RemoteDevice 实例被创建为显示在这里。
【讨论】: