Android 传统蓝牙开发

1. 设备扫描

1.1和ble 设备一样,首先都需要获取蓝牙设备管理器

BluetoothManager bluetoothManager =
                (BluetoothManager) mContext.getSystemService (Context.BLUETOOTH_SERVICE);
   BluetoothAdapter     mAdapter = bluetoothManager.getAdapter ();

1.2 设备搜索

  1. 搜索先先判断是否连接,如果没有连接,可以通过代码将蓝牙打开
if (mAdapter == null || !mAdapter.isEnabled ()) {
            if (!mAdapter.isEnabled ()) {
                LogS.d (TAG, "蓝牙未开启,开始开启蓝牙");
                mAdapter.enable ();
            }
        }

这里需要注意,开启蓝牙是一个异步操作,执行打开操作后,立马去搜索可能会搜索不到,这里有两种思路:
1.监控蓝牙开关广播状态
2.加个延时,然后搜索,且适当延长搜索时间。

  1. 判断是否正在搜索,如果正在搜索,就停止搜索
if (mAdapter.isDiscovering ()) {
            mAdapter.cancelDiscovery ();
             } 
  1. 每次扫描之前都先判断一下是否存在已经配对过的设备
 Set<BluetoothDevice> paireDevices = mAdapter.getBondedDevices ();
            if (paireDevices.size () > 0) {
                for (BluetoothDevice device : paireDevices) {
                    LogS.d (TAG, "将设备信息存入数组中" + device .getAddress ());
                }
         
            }

如果已经有我们之前配对过的设备,可以根据自身业务直接去连接。

  1. 开始扫描设备
mAdapter.startDiscovery ();
  1. 通过广播监控扫描结果
    5.1 注册广播
  public void r
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值