/** * 用于实现 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. webstorm 介绍

    最新版2017 破解 注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址: http://idea.iteblog.com/key. ...

  2. libvirt虚拟库

    转载自:https://www.ibm.com/developerworks/cn/linux/l-libvirt/index.html Libvirt 虚拟化库剖析   讲到向外扩展计算(比如云计算 ...

  3. 17.0-uC/OS-III消息管理

    消息传递 有些情况下任务或ISR与另一个任务间进行通信,这种信息交换叫做作业间的通信. 可以有两种方法实现这种通信: 全局变量. 发送消息. 1.果使用全局变量,任务或ISR就须确保它独占该变量.如果 ...

  4. 20175211 2018-2019-2 《Java程序设计》第二周学习总结

    目录 教材学习内容总结 第二章 第三章 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 其他(感悟.思考等,可选) 学习进度条 参考资料 教材学习内容总结 第二章 ...

  5. eclispe集成Scalas环境后,导入外部Spark包报错:object apache is not a member of package org

    在Eclipse中集成scala环境后,发现导入的Spark包报错,提示是:object apache is not a member of package org,网上说了一大推,其实问题很简单: ...

  6. phpcms网页替换验证码功能 及 搜索功能

    在使用phpcms替换网页的时候,除了正常的替换栏目.内容页等,其他的什么验证码啦,提交表单了,搜索功能了,这些在替换的时候可能会对一些默认文件有一些小小 的改变 下面就是自己在失败中成功的过程,最后 ...

  7. [iOS] 测试设备解决自签名证书问题

    不多说,解决过程都是泪. 用了最简单粗暴的方式. 1. 将你的自签名证书,放到测试设备可以访问的站点上 2. 用safari访问上面的地址,直接将证书安装到本设备上 搞掂! Have fun with ...

  8. JAVA 多线程之volatile的介绍

    volatile的介绍 volatile的主要作用是:提示编译器该对象的值有可能在编译器未监测的情况下被改变. volatile类似于大家所熟知的const也是一个类型修饰符.volatile是给编译 ...

  9. python SyntaxError: Non-ASCII character '\xe6' in file

    [1]python程序执行报错 报错:SyntaxError: Non-ASCII character '\xe6' in file /tmp/788580473/main.py on line 7, ...

  10. GO格式化打印

    General(通用占位符)  Integer整形  Integer width(指定长度的整型,以5为例)  Float(浮点数)  String(字符串)  String Width ( ...