Android低功耗蓝牙开发
BLE中,设备分为中心设备(central)和外围设备(peripheral)
中心设备就是你的手机,外围设备就是智能手环一类的东西。开发BLE的应用都得遵守Generic Attribute Profile (GATT),一个BLE蓝牙设备包含多个service,每个service 又包含多个characteristic。每个characteristic有一个value和多个descriptor,通过characteristic中心设备与外围设备进行通信,charateristic起着载体的作用,通过writeCharacteristic()和readCharacteristic(),可以写入和读出信息。
不同service、characteristic和descriptor都有各自己唯一的UUID。
当连接上BLE设备后,调用discoveryServices()发现服务,通过SERVICE_UUID获取目标service,如果service不为空,* 再通过CHARACTERISTIC_UUID获取characteristic,借助characteristic写入指定值与BLE设备进行通信。
一个GATT服务表现为一个BluetoothGattService 对象,我们需要通过适当的UUID从 BluetoothGatt 实例中获得;
一个GATT特征表示为一个 BluetoothGattCharacteristic 对象,我们可以通过适当的UUID从BluetoothGattService 中得到;
一个GATT描述符表现为一个 BluetoothGattDescriptor 对象,我们可以通过适当的UUID从BluetoothGattCharacteristic对象中获得
蓝牙低功耗开发步骤:
1、使用BluetoothAdapter.getBluetoothLeScanner().startScan()来扫描低功耗蓝牙设备
2、在扫描到设备的回调函数中会得到BluetoothDevice对象,并使用BluetoothAdapter.getBluetoothLeScanner().stopScan();
3、使用BluetoothDevice.connectGatt来获取到BluetoothGatt对象;
4、执行BluetoothGatt.discoverServices,这个方法是异步操作,在回调函数onServicesDiscovered中得到status, 通过判断status是否等于BluetoothGatt.GATT_SUCCESS来判断查找Service是否成功
5、如果成功了,则通过BluetoothGatt.getService来获取BluetoothGattService
6、接着通过BluetoothGattService.getCharacteristic获取BluetoothGattCharacteristic
7、然后通过BluetoothGattCharacteristic.getDescriptor获取BluetoothGattDescriptor
Android低功耗蓝牙开发相关推荐
- Android 低功耗蓝牙开发(数据交互)
Android 低功耗蓝牙开发(数据交互) 前言 正文 一.BluetoothGattCallback 1. onPhyUpdate 2. onPhyRead 3. onServicesDiscove ...
- Android 低功耗蓝牙开发
初识低功耗蓝牙 Android 4.3(API Level 18)开始引入Bluetooth Low Energy(BLE,低功耗蓝牙)的核心功能并提供了相应的 API, 应用程序通过这些 API 扫 ...
- Android 低功耗蓝牙开发简述
低功耗蓝牙简述 一.什么是低功耗蓝牙? 二.怎么做低功耗蓝牙应用? ① 之前有没有接触Android蓝牙开发? ② 蓝牙设备固件是公司自己的吗? ③ 有没有蓝牙固件和蓝牙应用的文档和Demo? ④ 具 ...
- 【Android】蓝牙开发——BLE(低功耗蓝牙)(附完整Demo)
目录 目录 前言 一.相关概念介绍 二.实战开发 三.项目演示 四.Demo案例源码地址 五.更新记录 1.2020/12/29 :修改 setupService()中错误 2.2021/05/14 ...
- android 连接蓝牙电子秤_电子秤蓝牙双模通讯Android低功耗蓝牙(蓝牙4.0)BLE开发(上)...
电子秤蓝牙双模通讯Android低功耗蓝牙(蓝牙4.0)BLE开发(上) 前段时间,公司项目用到了手机APP和蓝牙设备的通讯开发,这里也正好对低功耗蓝牙(蓝牙4.0及以后标准)的开发,做一个总结. 蓝 ...
- Android BLE低功耗蓝牙开发
啦啦啦在上一个项目中有用到BLE低功耗蓝牙开发,当时baidu google了很多资料,但大多数都是千篇一律,英文文档我这种渣渣又看不懂...总之刚开始查的很痛苦.所以要把自己的踩坑之路写下来记录下, ...
- Android低功耗蓝牙(BLE)开发(二)
在上一篇文章Android低功耗蓝牙(BLE)开发(一)中我们了解了BLE的相关概念,这里我们来实际用代码演示安卓进行BLE连接和通讯的功能.本文代码基于Android5.0以上(API 21) 1. ...
- Android 8.0 BLE 低功耗蓝牙开发记录
Android 8.0 BLE 低功耗蓝牙开发记录(1-3)--------------(权限申请篇未完待续) 目的:开源博客,希望大家一起修改博客错误地方,共同完善并会鸣谢提供意见的朋友.为大家提供 ...
- 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发详解
转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50909410 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发详解 ...
最新文章
- 配置ISA Server 2006 ×××使用户轻松连接内网
- PHPStudy下Apache SSL证书安装教程
- PowerDesigner 表名、字段大小写转换
- 音乐后台管理 歌手查询功能 ktv 1216
- rdbms mysql_不同RDBMS下Join 用法 - MySQL
- 解决升级到Android Studio 3 Beta版本编译异常
- FileUpload文件上传控件
- 远程服务器网刻系统,网刻-wu123119-ChinaUnix博客
- 电脑怎么录制玩王者荣耀的过程
- 【小程序开发】开发一个短信登录验证(后端采用springboot)
- 柳传志退休:激荡三十五年
- Pubg九月十六日服务器维护,绝地求生9月16日停机更新公告:绝地求生几点开始停机维护...
- java word 添加图片_java如何在word中添加图形?图文详解
- cocos creator实现读取白鹭movieClip组件(尝试)
- 数学中常见的maxmin,min max
- cocos creator2.2.2休闲游戏(单机捕鱼)源码H5+安卓+IOS三端源码
- 通过正则表达式来替换字符串内容
- 手把手教你用c语言编写网络病毒
- PHP中的面向对象思想
- 新年寄语 —— 奋斗2022