服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

检测支持蓝牙功能(jsr 82)的移动电话

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

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

扫描关注微信公众号