Java蓝牙无线通讯技术API – LocalDevice 类简介
LocalDevice:本地设备类,代表本地蓝牙设备,其定义了蓝牙管理的基本功能。在程序中使用本地设备类可以访问和控制本地蓝牙设备。
LocalDevice类采用了单态模式(Singleton),可以通过而且仅能通过静态方法getLocalDevice()来获取该类的一个实例(Object)。所以说每个蓝牙无线应用程序与LocalDevice是一一对应的。
LocalDevice类提供了方法用来返回本地蓝牙设备的信息,简单介绍如下:
1
、public java.lang.String
getBluetoothAddress(); 返回本地设备的蓝牙地址。蓝牙地址是由12位16进制数组成,如FEDCBA123456。
2、public DeviceClass getDeviceClass(); 返回设备类对象。
3、public int getDiscoverable(); 返回蓝牙设备的可被发现的状态。返回值类型有:
DiscoveryAgent.GIAC:一般的不受限的发现模式;
DiscoveryAgent.LIAC:受限的发现模式,具体情况取决于API的具体实现;
DiscoveryAgent.NOT_DISCOVERABLE:不可被发现。
4、public DiscoveryAgent getDiscoveryAgent(); 返回一个参考给DiscoveryAgent类的实例。
5
、public java.lang.String
getFriendlyName(); 返回设备友好名称,蓝牙设备的地址和名字可以类比PC的主机名和IP。通常用户可以在本地蓝牙控制中心为其设置蓝牙设备名。
6、public static LocalDevice getLocalDevice(); 返回LocalDevice类本地设备的实例。由于LocalDevice是单态模式,所以多次调用此方法返回的实例的引用相同,为同一个对象。
7、public static java.lang.String
getProperty(java.lang.String property
); 返回一个设备的蓝牙属性。通过调用getProperty()方法可以得到的属性包括:
bluetooth.api.version,蓝牙API版本;
bluetooth.sd.attr.retrievable.max,一次性能够被获得的服务记录属性的最大值;
bluetooth.connected.devices.max,支持的连接设备的最大值;
bluetooth.sd.trans.max,同时发生的服务发现处理的最大值;
bluetooth.l2cap.receiveMTU.max,L2CAP最大发射单元。
8、public ServiceRecord getRecord(); 返回一个指定蓝牙连接的服务记录。
LocalDevice类的其它方法:
1、public boolean
setDiscoverable(); 设置设备的可发现状态。
2、public void updateRecord(); 方法用来为指定的ServiceRecord更新SDDB服务记录。