如何编写一个方法来执行 BLE 请求并返回相应的响应?

马布切朱

在 android 中,我通过以下 API 将读取请求发送到 BLE 设备。

boolean success = bluetoothGatt.readCharacteristic(characteristic);

并得到onCharacteristicRead回调函数的响应

public class GattClientCallback extends BluetoothGattCallback {
    @Override
     public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
        super.onCharacteristicRead(gatt, characteristic, status);

        if (status == BluetoothGatt.GATT_SUCCESS) {
            //characteristic.getValue() is the reponse.

        } else {


        }
    }
}

但我希望响应作为请求函数的返回,如下所示:

public response_type readStatus(){
     bluetoothGatt.readCharacteristic(characteristic);
     // Processing
     return  response;
}

有什么方法可以做到这一点?

米蒂什·马乔亚

最好的解决方案是使用接口:

public class GattClientCallback extends BluetoothGattCallback
{
    private GattClientCallBackInterface gattClientCallBackInterface;

    public void setGattClientCallBackInterface(GattClientCallBackInterface gattClientCallBackInterface)
    {
        this.gattClientCallBackInterface = gattClientCallBackInterface;
    }

    public interface GattClientCallBackInterface{
        public void onCharacteristicReadSuccess(byte[] bytes);
    }
    @Override
    public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
        super.onCharacteristicRead(gatt, characteristic, status);

        if (status == BluetoothGatt.GATT_SUCCESS) {
            //characteristic.getValue() is the reponse.
            if (gattClientCallBackInterface != null)
            {
                gattClientCallBackInterface.onCharacteristicReadSuccess(characteristic.getValue());
            }
        } else {


        }
    }
}

现在你只需要实现这个 GattClientCallBackInterface 接口:

YourGattClientCallbackObject.setGattClientCallBackInterface(new GattClientCallBackInterface()
            {
                @Override
                public void onCharacteristicReadSuccess(byte[] bytes)
                {

                }
            });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何编写一个方法来返回数组中给定列的总和?爪哇

来自分类Dev

编写一个 C# 方法来从表中返回值

来自分类Dev

如何返回 BLE 外设的连接状态

来自分类Dev

如何模拟一个类并设置一个方法来返回一个私有变量

来自分类Dev

Android BLE写入响应

来自分类Dev

如何在 django 模型中创建一个方法来返回同一模型中字段的总和?

来自分类Dev

SwiftUI:如何处理BLE响应并显示新值

来自分类Dev

是否可以创建一个方法来返回Java中的方法?

来自分类Javascript

干净的方法来等待Promise返回的第一个true

来自分类Dev

如何与BLE通信

来自分类Dev

谁能建议一种优雅的方法来编写通用C#Dapper过程以返回n个结果集?

来自分类Java

BLE设备不响应命令

来自分类Dev

Axios返回一个奇怪的数组以响应请求

来自分类Dev

如何从请求返回HttpClient响应主体?

来自分类Dev

如何对短信请求返回空响应?

来自分类Java

我可以创建一个通用的Web服务/调度方法来响应JAX-WS的所有请求吗?

来自分类Dev

如何设计一个新的ble信标协议?

来自分类Dev

为什么可以声明一个方法来返回正在创建的同一类的类型?

来自分类Dev

我如何编写一个迭代器来返回对自身的引用?

来自分类Dev

如何编写一个SQL查询来返回...的所有玩家的姓名?

来自分类Dev

如何编写一个 SQLAlchemy 查询来返回图中节点的所有后代?

来自分类Dev

如何在 c 中编写一个函数 char* 来返回按长度排序的单词?

来自分类Dev

尽管执行了相应的Java方法,但AngularJS $ http GET请求返回了404

来自分类Dev

我可以声明一个接口方法来返回C#中的通用接口吗?

来自分类Dev

编写一个宏来检查函数返回码

来自分类Java

如何通过BLE传输数据?

来自分类Dev

如何检测BLE RSSI值?

来自分类Dev

(react-native-ble-plx) 如何只读取发送请求后获得的那些?

来自分类Java

如何编写一个通用的isEmpty方法来检查null,empty?

Related 相关文章

  1. 1

    如何编写一个方法来返回数组中给定列的总和?爪哇

  2. 2

    编写一个 C# 方法来从表中返回值

  3. 3

    如何返回 BLE 外设的连接状态

  4. 4

    如何模拟一个类并设置一个方法来返回一个私有变量

  5. 5

    Android BLE写入响应

  6. 6

    如何在 django 模型中创建一个方法来返回同一模型中字段的总和?

  7. 7

    SwiftUI:如何处理BLE响应并显示新值

  8. 8

    是否可以创建一个方法来返回Java中的方法?

  9. 9

    干净的方法来等待Promise返回的第一个true

  10. 10

    如何与BLE通信

  11. 11

    谁能建议一种优雅的方法来编写通用C#Dapper过程以返回n个结果集?

  12. 12

    BLE设备不响应命令

  13. 13

    Axios返回一个奇怪的数组以响应请求

  14. 14

    如何从请求返回HttpClient响应主体?

  15. 15

    如何对短信请求返回空响应?

  16. 16

    我可以创建一个通用的Web服务/调度方法来响应JAX-WS的所有请求吗?

  17. 17

    如何设计一个新的ble信标协议?

  18. 18

    为什么可以声明一个方法来返回正在创建的同一类的类型?

  19. 19

    我如何编写一个迭代器来返回对自身的引用?

  20. 20

    如何编写一个SQL查询来返回...的所有玩家的姓名?

  21. 21

    如何编写一个 SQLAlchemy 查询来返回图中节点的所有后代?

  22. 22

    如何在 c 中编写一个函数 char* 来返回按长度排序的单词?

  23. 23

    尽管执行了相应的Java方法,但AngularJS $ http GET请求返回了404

  24. 24

    我可以声明一个接口方法来返回C#中的通用接口吗?

  25. 25

    编写一个宏来检查函数返回码

  26. 26

    如何通过BLE传输数据?

  27. 27

    如何检测BLE RSSI值?

  28. 28

    (react-native-ble-plx) 如何只读取发送请求后获得的那些?

  29. 29

    如何编写一个通用的isEmpty方法来检查null,empty?

热门标签

归档