# TB-android **Repository Path**: superTruth/TB-android ## Basic Information - **Project Name**: TB-android - **Description**: android BLE库 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-04-05 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目简介 本项目用于简化android BLE的使用,解决了: 1.android手机适配 2.发送数据自动拆包,无需关注拆包问题 3.解决android BLE假连接问题 4.数据发送扁平化(把所有数据串行发送,避免资源竞争) # 使用方法 1. 创建/获取蓝牙管理对象 TBBLEManager tbbleManager = TBBLEManager.getInstance(); 2. 扫描蓝牙 tbbleManager.startScan(TBBLEScanMode scanMode, UUID[] uuids, TBBLEScanCB scanCB, int workTime, int sleepTime, int workTimes) 扫描蓝牙的方式(扫描workTime毫秒 -> 停止扫描sleepTime(毫秒)->扫描workTime毫秒 -> 停止扫描sleepTime(毫秒)……)这样循环workTimes次(-1时,为循环无限次) 3. 创建蓝牙连接对象 TBBLEBase tbbleBase = new TBBLEBase(TBBLEManager.getInstance(), this); 4. 启动连接(连接完后,会自动发现全部服务,无需手动发现服务) tbbleBase.connect(TBBLEDevice device, int timeout, int retryTimes, TBBLEBaseCB cb); tbbleBase.connect(String mac, int timeout, int retryTimes, TBBLEBaseCB cb); timeout(毫秒)连接超时时间, retryTimes重试次数, cb 结果回调 5. 获取所有服务列表 tbbleBase.getAllServices(); 6. 发送数据(数据无20 bytes限制,请尽情嗨,具体参考CommunicateActivity.java) TBBLEWriteCharacterAction writeCharacterAction = new TBBLEWriteCharacterAction( gData.workingChararcter, sendData, new TBBLEBaseAction.TBBLEBaseOption(), writeCB); tbbleBase.addAction(writeCharacterAction); 7. 开启接收 TBBLEEnNotifyAction notifyAction = new TBBLEEnNotifyAction(BluetoothGattCharacteristic characteristic, boolean enable, TBBLEBaseOption option, TBBLEBaseActionCB cb); tbbleBase.addAction(notifyAction); 8. 读取rssi,读取特征值(所有操作,都是添加任务的形式,只是任务对象不一样) tbbleBase.addAction(TBBLEReadRssiAction); // 添加读取rssi任务 tbbleBase.addAction(TBBLEReadCharacterAction); // 添加读取特征值任务