/** * 用于实现 BluetoothGatt 的回调 */public abstract class BluetoothGattCallback {

    /**     * GATT客户端连接或断开到远程的时候。     *     * @param gatt GATT客户端     * @param status 连接或者断开操作时的状态。     *               {BluetoothGatt#GATT_SUCCESS} 如果操作成功。     * @param newState 返回新的连接状态。{BluetoothProfile#STATE_DISCONNECTED}或者     *                  {BluetoothProfile#STATE_CONNECTED}     */    public void onConnectionStateChange(BluetoothGatt gatt, int status,                                        int newState) {    }

    /**     * 远程服务列表时调用的回调函数,远程设备的 characteristics 和 descriptors 已经更新,     * 已经发现了新服务。     *     * @param gatt 调用了{BluetoothGatt#discoverServices}的GATT客户端     * @param status 如果远程设备已经成功探索,状态为{BluetoothGatt#GATT_SUCCESS}     */    public void onServicesDiscovered(BluetoothGatt gatt, int status) {    }

    /**     * 报告一个 characteristic 读取操作的结果。     *     * @param gatt 调用了{BluetoothGatt#readCharacteristic}的GATT客户端     * @param characteristic 从关联的远程设备读取的 Characteristic      * @param status 如果读取操作成功完成,状态为{BluetoothGatt#GATT_SUCCESS}     */    public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic,                                     int status) {    }

    /**     * characteristic写入操作结果的回调.     *     * <p>If this callback is invoked while a reliable write transaction is     * in progress, the value of the characteristic represents the value     * reported by the remote device. An application should compare this     * value to the desired value to be written. If the values don't match,     * the application must abort the reliable write transaction.     *     * @param gatt 调用了{BluetoothGatt#writeCharacteristic}的GATT客户端     * @param characteristic 写入关联的远程设备的 Characteristic     * @param status 写入操作的结果,如果操作成功,状态为{BluetoothGatt#GATT_SUCCESS}     */    public void onCharacteristicWrite(BluetoothGatt gatt,                                      BluetoothGattCharacteristic characteristic, int status) {    }

    /**     * 由于远程 characteristic 通知而触发的回调。     *     * @param gatt GATT client the characteristic is associated with     * @param characteristic 由于远程通知事件而更新的 Characteristic      */    public void onCharacteristicChanged(BluetoothGatt gatt,                                        BluetoothGattCharacteristic characteristic) {    }

    /**     * Callback reporting the result of a descriptor read operation.     *     * @param gatt GATT client invoked {@link BluetoothGatt#readDescriptor}     * @param descriptor Descriptor that was read from the associated     *                   remote device.     * @param status {@link BluetoothGatt#GATT_SUCCESS} if the read operation     *               was completed successfully     */    public void onDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptor descriptor,                                 int status) {    }

    /**     * Callback indicating the result of a descriptor write operation.     *     * @param gatt GATT client invoked {@link BluetoothGatt#writeDescriptor}     * @param descriptor Descriptor that was writte to the associated     *                   remote device.     * @param status The result of the write operation     *               {@link BluetoothGatt#GATT_SUCCESS} if the operation succeeds.     */    public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor,                                  int status) {    }

    /**     * Callback invoked when a reliable write transaction has been completed.     *     * @param gatt GATT client invoked {@link BluetoothGatt#executeReliableWrite}     * @param status {@link BluetoothGatt#GATT_SUCCESS} if the reliable write     *               transaction was executed successfully     */    public void onReliableWriteCompleted(BluetoothGatt gatt, int status) {    }

    /**     * Callback reporting the RSSI for a remote device connection.     *     * This callback is triggered in response to the     * {@link BluetoothGatt#readRemoteRssi} function.     *     * @param gatt GATT client invoked {@link BluetoothGatt#readRemoteRssi}     * @param rssi The RSSI value for the remote device     * @param status {@link BluetoothGatt#GATT_SUCCESS} if the RSSI was read successfully     */    public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {    }

    /**     * Callback indicating the MTU for a given device connection has changed.     *     * This callback is triggered in response to the     * {@link BluetoothGatt#requestMtu} function, or in response to a connection     * event.     *     * @param gatt GATT client invoked {@link BluetoothGatt#requestMtu}     * @param mtu The new MTU size     * @param status {@link BluetoothGatt#GATT_SUCCESS} if the MTU has been changed successfully     */    public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {    }}

BluetoothGattCallback的更多相关文章

  1. Android BLE 蓝牙编程(三)

    上节我们已经可以连接上蓝牙设备了. 本节我们就要获取手环的电池电量和计步啦. 在介绍这个之前我们需要先了解下什么是 服务 什么是 UUID 我们记得上节中我们item监听事件的回调的返回值是Bluet ...

  2. Android BLE 蓝牙编程(二)

    大家中秋快乐啊--哈哈,今天继续工程项目吧! 上篇我们已经实现了蓝牙设备的扫描,本篇我们来通过list展示扫描到的设备并 实现点击连接. 先贴出上篇的完整的MainActivity的方法: packa ...

  3. BLE教程 - 官方tutorial翻译

    关键术语和概念 1. Generic Attribute Profile(GATT)GATT配置文件是一个通用规范,用于在BLE链路上发送和接收被称为"属性"的数据块.目前所有的B ...

  4. BLE编程中关键步骤

    获取权限 <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permiss ...

  5. Android 蓝牙4.0 BLE

    Android ble (Bluetooth Low Energy) 蓝牙4.0,也就是说API level >= 18,且支持蓝牙4.0的手机才可以使用. BLE是蓝牙4.0的核心Profil ...

  6. Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现

    http://blog.csdn.net/wave_1102/article/details/39271693 分类: Android(105) 作者同类文章X Android4.3 规范了BLE的A ...

  7. Bluetooth Low Energy——蓝牙低功耗

    Android4.3(API级别18)引入内置平台支持BLE的central角色,同时提供API和app应用程序用来发现设备,查询服务,和读/写characteristics.与传统蓝牙(Classi ...

  8. Android使用BLE(低功耗蓝牙,Bluetooth Low Energy)

    背景 在学习BLE的过程中,积累了一些心得的DEMO,放到Github,形成本文.感兴趣的同学可以下载到源代码. github: https://github.com/vir56k/bluetooth ...

  9. 蓝牙防丢器原理、实现与Android BLE接口编程

    本文是对已实现的蓝牙防丢器项目的总结,阐述蓝牙防丢器的原理.实现与android客户端的蓝牙BLE接口编程.在这里重点关注如何利用BLE接口来进行工程实现,对于BLE的协议.涉及到JNI的BLE接口内 ...

随机推荐

  1. [学习] 从 函数式编程 到 lambda演算 到 函数的本质 到 组合子逻辑

    函数式编程 阮一峰 <函数式编程初探>,阮一峰是<黑客与画家>的译者. wiki <函数编程语言> 一本好书,<计算机程序的构造与解释>有讲到schem ...

  2. RNN Train和Test Mismatch

    李宏毅深度学习 https://www.bilibili.com/video/av9770302/?p=8 在看RNN的时候,你是不是也会觉得有些奇怪, Train的过程中, 是把训练集中的结果作为下 ...

  3. Fiddler (进阶)内置命令与断点

    Fiddler 内置命令与断点 命令 对应请求项 介绍 示例 ? All 问号后边跟一个字符串,可以匹配出包含这个字符串的请求 ?google > Body 大于号后面跟一个数字,可以匹配出请求 ...

  4. jQuery:实现图片按需加载的方法,当要显示内容的高度超过了页面的高度,按需加载,根据滚动条的位置来判断页面显示的内容

    实现图片按需加载的方法,当要显示内容的高度超过了页面的高度,按需加载,根据滚动条的位置来判断页面显示的内容 这个类似于京东或淘宝页面,根绝页面的滚动,显示下面的内容 如下图所示,一开始并不是所有的图片 ...

  5. linux 通过pid 寻找程序路径的最简单命令(pwdx)

    在linux实际操作命令中,查看pid的方式有很多种,通过pid找程序路径的方式也有好几个,但是可能大家都忽略的一个很简单也是很实用的命令:pwdx. 比如要查找某个java编写的程序运行情况可通过j ...

  6. 高并发架构系列:MQ消息队列的12点核心原理总结

    消息队列已经逐渐成为分布式应用场景.内部通信.以及秒杀等高并发业务场景的核心手段,它具有低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 无论是 RabbitMQ.RocketMQ.Act ...

  7. rosetta deep_analysis

    此小程序可以分析backrub,enzdes类的聚类logo分析,详细路径是: /home/wangq/Programs/rosetta_2018.09.60072_bundle/tools/prot ...

  8. Select input 两个元素的宽度高度跟设定值不一致的问题

    在做登录框的时候,需要一个select 元素作为账号输入,一个input作为密码输入框.在css 文件中,将这两个元素的position 设置为relative ,并且width 设置为100%.刷新 ...

  9. powerdesigner相关记录

    背景 项目逐步开始规范化,表设计直接用designer来,然后生成语句,到oracle数据库,把相关的操作等记录一下, designer版本:15.1 oracle版本:11.2,64位 oracle ...

  10. CSS——对height和line-height的理解

    最近在做CSS界面时经常遇到line-height和height这两个属性,一直没搞很明白,今天静下心来好好网上查阅了一下,算是有所领悟.https://blog.csdn.net/a20131263 ...