android之蓝牙通信(二)(蓝牙连接,数据传递)

上次写了android之蓝牙通信(一)(基础之检测蓝牙、开启蓝牙、扫描附近蓝牙设备)
,大致介绍了开启蓝牙,搜索附近蓝牙设备功能,下面接下来写下搜索到蓝牙设备后进行连接,传递数据的操作,连接蓝牙设备有两种,一种是单向,一种是双向。单向是它发数据,你接受就行;双向是它发数据,你接收,你也发数据,它接收,双向的最佳例子就是蓝牙聊天。单向跟双向的做法差不多,单向只需要做个接收就行,而双向比单向多一个发送功能,具体的差异上一篇说过,双向是即作为服务器也作为客户端,单向是只需要作为客户端就行。

由于项目是做连接蓝牙秤获取蓝牙秤的数据,所以就以单向为例了,双向原理类似,多一个accept()和作为service服务器,具体就不多说了。

废话不多说了,直接上代码,首先,连接设备(很多人写的时候都是直接进行连接,没有先进行配对而是直接连接操作,这种方式不稳定,未配对的直接进行连接不稳定,有时候会很久连不上,所以先进行配对判断,配对过了直接连接,未配对的先进行配对,配对成功后再进行连接):

//配对连接线程
    private class ClientThread extends Thread {
   
        @Override
        public void run() {
            if (bluetoothAdapter.isDiscovering()) {
                bluetoothAdapter.cancelDiscovery();
            }

            try {
                if (device.getBondState() == BluetoothDevice.BOND_NONE) {  //未配对,就先配对,再连接
                    Method m = BluetoothDevice.class.getMethod("createBond");
       
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值