快速业务通道

蓝牙开发之从手机走向PC【2】——手机与手机之间的通信实现 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
服务的类   * @author royen   * @since 2010.1.24   */ public class BlueClientService implements Runnable,DiscoveryListener{      //目标服务标识      private final static UUID TARGET_UUID=new UUID("F0E0D0C0B0A000908070605040302010",false);      //存储发现的设备和服务的集合      private Vector devices=new Vector();      private Vector records=new Vector();      //存储服务属性的集合      private UUID[] uuidSet=null;      //蓝牙发现代理类      private DiscoveryAgent discoveryAgent=null;      //客户端界面      private BlueClient clientForm;      //服务搜索的事务id集合      private int[] transIDs;      //存活的服务索引      private int activeIndex=-1;      public BlueClientService(BlueClient frm){          this.clientForm=frm;      }      public synchronized void run() {          //发现设备和服务的过程中,给用户以Gauge           Gauge g=new Gauge(null,false,Gauge.INDEFINITE,Gauge.CONTINUOUS_RUNNING);          clientForm.append(g);          //如果初始化失败          if(!initLocalDevice()){              clientForm.appendInfo("bluetooth init failed~");              return;          }          //生成服务和属性的全球唯一标示符          uuidSet=new UUID[2];          uuidSet[0]=new UUID(0x1101); //0x1101表示 采用btspp协议          uuidSet[1]=TARGET_UUID; //目标服务标示          try{              discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);          }          catch(Exception ex){              clientForm.appendInfo(ex.getMessage());              return;          }          try{              //阻塞,由inquiryCompleted函数回调唤醒              wait();          }          catch(InterruptedException ex){              clientForm.appendInfo(ex.getMessage());              return;          }          //添加显示信息          clientForm.appendInfo("search device completed,find "+devices.size()+" devices~");          clientForm.appendInfo("now begin to search service...");          transIDs=new int[devices.size()];          //遍历开启目标服务的蓝牙设备          for(int i=0;i<devices.size(); i++ ){              RemoteDevice rd=(RemoteDevice)devices.elementAt(i);              try{                  //记录每一次服务搜索的事务ID                  transIDs[i]=discoveryAgent.searchServices(null, uuidSet, rd, this);              }              catch(BluetoothStateException ex){                  continue;              }          }          tr

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号