/** * 用于实现 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. Win7 搭建Linux开发环境

    Vargant Vagrant 是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境.它使用 Oracle 的开源 VirtualBox 虚拟化系统,使用 Chef 创建自动化虚拟环境. 功能特 ...

  2. linux下查看网卡速率

    转自:http://blog.csdn.net/liugongfeng/article/details/50263733 我们都知道ifconfig -a 可以列出所有网卡,但是怎么判读是千兆网卡还是 ...

  3. 4、 LwIP协议栈规范翻译——流程模型

    4.流程模型 协议实现的流程模型描述了系统被划分为不同的流程的方式.用于实现通信协议的一个流程模型是让每个协议作为一个独立的进程运行.有了这个模型,严格的协议分层被强制执行,并且协议之间的通信点必须严 ...

  4. JDBC 和连接池

    1 JDBC概述 Java DataBase Connectivity,Java数据库连接,一种执行SQL的Java API,为多种关系数据库提供统一访问规范,由一组Java语言编写的类和接口组成.数 ...

  5. 访问GitLab的PostgreSQL数据库,查询、修改、替换等操作

    1.登陆gitlab的安装服务查看配置文件 cat /var/opt/gitlab/gitlab-rails/etc/database.yml production: adapter: postgre ...

  6. Linux 两台服务器之间传输文件

    一.scp命令的使用 1.传输文件(不包括目录) 命令格式:scp 源文件路径目录/需要传输的文件 目标主机的用户名@目标主机IP/主机别名:目标主机存储目录 举个例子:scp /root/ceshi ...

  7. [sql]sql的select字符串切割

    可以经常看看 mysql的refman,写的很棒 sql基础操作 查看表结构 show create table desc table show full columns from test1; li ...

  8. Linux下安装pymysql

    直接使用pip进行安装: [root@mycentos ~]#pip install pymysql

  9. Mybatis经常被问到的面试题

    1. #{}和${}的区别是什么? #{}是预编译处理,${}是字符串替换. Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值: ...

  10. 我用MATLAB撸了一个2D LiDAR SLAM

    0 引言 刚刚入门学了近一个月的SLAM,但对理论推导一知半解,因此在matlab上捣鼓了个简单的2D LiDAR SLAM的demo来体会体会SLAM的完整流程. (1)数据来源:德意志博物馆Deu ...