赞
踩
FastBle是一个开源的Android BLE库,旨在简化和加速Android平台上的蓝牙低功耗(BLE)开发。它提供了一组易于使用的API和丰富的功能,使开发者能够快速构建稳定和高效的BLE应用程序。
FastBle允许您自定义BLE连接参数,如连接超时时间、重连次数、重连间隔等。
BleManager.getInstance().setReConnectCount(3) // 设置重连次数
.setReConnectInterval(5000) // 设置重连间隔,单位毫秒
.setConnectOverTime(10000) // 设置连接超时时间,单位毫秒
.setOperateTimeout(5000) // 设置操作超时时间,单位毫秒
.init(Application.getInstance()); // 初始化设置
FastBle允许您自定义BLE设备的扫描规则,如扫描超时时间、扫描过滤条件等。
BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
.setScanTimeOut(10000) // 设置扫描超时时间,单位毫秒
.setServiceUuids(serviceUuids) // 设置扫描过滤的服务UUID列表
.setDeviceName(true, names) // 设置扫描过滤的设备名称列表
.setDeviceMac(mac) // 设置扫描过滤的设备MAC地址
.setAutoConnect(true) // 设置是否自动连接设备
.build();
BleManager.getInstance().initScanRule(scanRuleConfig);
FastBle支持同时操作多个设备,例如批量连接、批量读写等。
List<BleDevice> devices = new ArrayList<>(); // 添加需要操作的设备到列表中 BleManager.getInstance().connect(devices, new BleMultiCallback() { @Override public void onConnectFinished(boolean allConnected, List<BleDevice> connectedDevices) { // 所有设备连接完成回调 } @Override public void onConnectException(BleDevice bleDevice, BleException exception) { // 设备连接异常回调 } @Override public void onCharacteristicChanged(BleDevice bleDevice, BluetoothGattCharacteristic characteristic) { // 特征值变化回调 } }); // 批量读写特征值示例 BleManager.getInstance().writeMultipleCharacteristics(devices, characteristicMap, new BleMultiCallback() { @Override public void onWriteSuccess(BleDevice bleDevice) { // 写入成功回调 } @Override public void onWriteFailure(BleDevice bleDevice, BleException exception) { // 写入失败回调 } });
FastBle提供了多种通信策略,如自动重连策略、断开重连策略等,可根据需要进行定制。
// 自动重连策略
BleManager.getInstance().setReConnectStrategy(new AutoReConnectStrategy(true));
// 断开重连策略
BleManager.getInstance().setReConnectStrategy(new DisconnectedReConnectStrategy(true));
FastBle提供了BLE状态变化的监听器,您可以通过它来监听BLE打开、关闭、连接状态等的变化。
BleManager.getInstance().enableBluetooth(); // 打开蓝牙 BleManager.getInstance().disableBluetooth(); // 关闭蓝牙 BleManager.getInstance().registerBleStateListener(new BleStateListener() { @Override public void onBluetoothStatusChanged(boolean isOn) { // 蓝牙状态变化回调 } @Override public void onBleConnectStatusChanged(BleDevice bleDevice) { // BLE连接状态变化回调 } });
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。
如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。
欢迎大家一键三连支持,若需要文中资料,直接扫描文末CSDN官方认证微信卡片免费领取↓↓↓
PS:群里还设有ChatGPT机器人,可以解答大家在工作上或者是技术上的问题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。