怎么使用android原生BLE蓝牙进行操作?

Android蓝牙

1个回答

写回答

danzel199@qq.com

2025-12-28 16:44

+ 关注

蓝牙
蓝牙

之前的涉及的物联网项目中使用的: BLE 低功耗蓝牙(蓝牙4.0), 支持Android 4.3以上的手机 主从关系: BLE低功耗蓝牙只能做从端设备 ,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯 1)低功耗 低功耗的原理: 1\低功耗蓝牙仅使用了3个广播通道,传统蓝牙技术采用 16~32 个频道 2\每次广播开启时间也由传统的 22.5ms 减少到 0.6~1.2ms(毫秒) 2)传输距离极大提高 传统蓝牙传输距离为 2~10m,而蓝牙4.0的有效传输距离可达到 60~100m 3)安全性 使用AES-128 CCM加密算法进行数据包加密和认证。 更多BLE蓝牙的解析参考博客 : BLE4.0教程一 蓝牙协议连接过程与广播分析 添加权限 打开蓝牙 1.先拿到BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); 2.再拿到BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); 判断是否打开蓝牙 未打开弹出 系统弹框 ,除了 魅族手机 是打开系统设置 设备/手机都是蓝牙信号 在回调方法中: 一般在扫描的过程中,我们还会设置 设备过滤原则 (因为我只想要搜索到我们想要的设备,忽略无关设备) 如:从 scanRecord -- beacon -- beacon.type == 0xFF代表Manufacture,通过与嵌入式软件定义 自己的 Manufacture值即可 用BluetoothDevice得到BluetoothGatt: 断连: 关键问题:连接后一般要做什么事? ( 必须在刚连接成功后2秒内app写一个值给设备,否则会被设备断开连接) 主要是读写 characteristic gatt.wirteCharacteristic(mCurrentcharacteristic); gatt.readCharacteristic(characteristic); bluetoothGatt.setcharacteristicNotification(data, true); 真实工作中使用的蓝牙库BlueToothKit请参考我的另一篇博客: Android蓝牙入门知识和优秀蓝牙第三方库BluetoothKit的使用

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号