代码之家  ›  专栏  ›  技术社区  ›  Ovi Tisler

黑莓蓝牙与无法发现的设备配对

  •  0
  • Ovi Tisler  · 技术社区  · 15 年前

    BlackBerry API或J2ME中是否存在允许使用MAC地址与蓝牙设备进行通信和/或配对的内容?(假设设备无法发现)

    1 回复  |  直到 15 年前
        1
  •  1
  •   Oben Sonne    15 年前

    您想知道如何连接到给定MAC地址的设备,还是想知道如何避免黑莓特定的安全/权限问题?我不知道后一种情况,但对于第一种情况,下面是一种方法:

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

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

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

    现在,您有了一个特定设备地址的远程设备,无需进行设备扫描,也无需查询已知设备列表。

    注: 虽然这种方法根据我的经验工作,但在黑莓设备上仍然可能失败,以防RIM在远程设备类中实现了一些隐藏的功能,如果创建了如下所示的远程设备实例,则忽略这些功能。