android 蓝牙创建通讯链路的2种方法

 

第一种方法:

 

mbluetoothsocket = mbluetoothdevice.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));

 

 mbluetoothsocket.connect();

 

第二种方法:

 

{
    Method m;
              try {
                  m = mbluetoothdevice.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
                  try {
                   mbluetoothsocket = (BluetoothSocket) m.invoke(mbluetoothdevice, 1);
                      //_bluetooth.cancelDiscovery();
                      try {
                       mbluetoothsocket.connect();
                      } catch (IOException e) {
                          // TODO Auto-generated catch block
                          //e.printStackTrace();
                 Message msg = new Message();
                 msg.obj = "连接服务端异常!断开连接重新试一试。";
                 msg.what = BLUETOOTH_SHOW_MSG;
                 mHandler.sendMessage(msg);
                      }
                  } catch (IllegalArgumentException e) {
                      // TODO Auto-generated catch block
                      //e.printStackTrace();
                 Message msg = new Message();
                 msg.obj = "创建socket失败IllegalArgumentException";
                 msg.what = BLUETOOTH_SHOW_MSG;
                 mHandler.sendMessage(msg);
                  } catch (IllegalAccessException e) {
                      // TODO Auto-generated catch block
                      //e.printStackTrace();
                 Message msg = new Message();
                 msg.obj = "创建socket失败IllegalAccessException";
                 msg.what = BLUETOOTH_SHOW_MSG;
                 mHandler.sendMessage(msg);
                  } catch (InvocationTargetException e) {
                      // TODO Auto-generated catch block
                      //e.printStackTrace();
                 Message msg = new Message();
                 msg.obj = "创建socket失败InvocationTargetException";
                 msg.what = BLUETOOTH_SHOW_MSG;
                 mHandler.sendMessage(msg);
                  }
              } catch (SecurityException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (NoSuchMethodException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }

   }

 

第一种方法,会出现连接异常;第二种方法.连接成功的概率比较大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值