检测支持蓝牙功能(JSR 82)

本文介绍了如何在Sony Ericsson Java平台5版本以上的手机中检测蓝牙功能,并提供了搜索蓝牙设备及服务的Java代码示例。

本例讲述如何检测支持蓝牙的移动电话,同时还介绍如何搜索蓝牙手机上提供的服务。可以从这里下载代码

SonyEricsson Java 平台5版本以上都支持了蓝牙功能,包括K750, K600, W800, Z520 and W810等。想要检测手机是否支持蓝牙功能可以使用下面的代码:

try{
    Class.forName("javax.bluetooth.LocalDevice");
}
catch(Exception ex){
    System.out.println("No support for JSR-82");
}

可以使用DiscoveryAgent开始搜索支持蓝牙的移动电话:

 LocalDevice localDevice = LocalDevice.getLocalDevice(); 

discoveryAgent = localDevice.getDiscoveryAgent();
discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);

如果发现了移动电话的时候,deviceDiscoverd()方法会被调用。

 public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass cod) {
        try{
            remoteDevices.addElement(remoteDevice);
        } catch(Exception e){
                e.printStackTrace();
        }

}

发现了移动电话设备之后,就可以开始搜索设备上提供的服务了,代码如下所示:

LocalDevice localDevice = LocalDevice.getLocalDevice();
DiscoveryAgent discoveryAgent = localDevice.getDiscoveryAgent();
discoveryAgent.searchServices(attrSet, uuidSet, remoteDevice, this);

当有服务被搜索到的时候,方法servicesDiscovered()方法会被调用。

 public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {

        for(int i = 0; i < servRecord.length; i++) {

            DataElement serviceNameElement =
  servRecord[i].getAttributeValue(0x0100);
                String temp_serviceName =
 (String)serviceNameElement.getValue();

                String serviceName = temp_serviceName.trim();
        }
}

原文地址http://developer.sonyericsson.com/site/global/techsupport/tipstrickscode/java/p_bluetooth_probe_jsr82.jsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值