黑莓蓝牙配对不可发现的设备

时间:2009-07-21 21:26:01

标签: blackberry java-me

blackberry api或j2me中是否有任何内容可以使用MAC地址与蓝牙设备进行通信和/或配对? (假设设备不可发现)

1 个答案:

答案 0 :(得分:1)

您是否想知道如何通常连接到给定MAC地址的设备,或者您是否对如何绕过Blackberry特定的安全/权限问题感兴趣?我不知道后一种情况,但对于第一种情况,这是一种方法:

要在远程设备上执行服务搜索,您需要一个类javax.bluetooth.RemoteDevice的实例,您通常使用DiscoveryAgent通过设备搜索来检索该实例。如果您已有设备地址,则无法直接创建RemoteDevice实例,因为RemoteDevice的相应构造函数受到保护。

为了避免这种情况,您可以创建一个扩展RemoteDevice的新类。在此派生类中,声明一个 public 构造函数,它接受设备地址。然后,这个公共构造函数可以调用受保护的超级构造函数:

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

现在,您可以使用特定设备地址的RemoteDevice,而无需进行设备扫描,也无需查询已知设备列表。

注意:虽然这种方法可以根据我的经验运行,但是如果RIM在RemoteDevice类中实现了一些隐藏的功能,如果RemoteDevice实例被创建为一个隐藏的功能,它可能仍会在Blackberry设备上失败这里显示。