小编clb*_*355的帖子

writeCharacteristic()返回true,但不调用onCharacteristicWrite()

我希望读取存储在设备中的特征值,修改该值,然后将其写入设备.由于某种原因,writeCharacteristic()返回true,但内部设备值不会更改,onCharacteristicWrite()也不会被调用.实际上,出于某种原因,只有在我尝试编写某些内容时才调用它,然后在关闭或重新打开应用程序后不久调用它 - 并且不会更改设备值.我一直在调查这几天,这让我发疯.值得注意的是,手动和通过通知读取特征都可以正常工作.

为什么writeCharacteristic()没有通过,为什么onCharacteristicWrite()在这么奇怪的时间被召唤?

我不确定问题源于何处.它可能是一些愚蠢和简单的东西,如writeCharacteristic()错误地调用(我的实现是基于" 使用BLE Android 4.3如何编写特征? "的问题).请求是否可能被忽略,因为onCharacteristicRead()某种程度上未完成?

我相信这些链接似乎对指出问题最有帮助,但我自己无法从中提取任何内容:

作为我的代码的演练,会触发一个onItemClick()事件,启动序列.

int flag = 1;
((MainActivity)getActivity()).BtService.readFlag(flag);
Run Code Online (Sandbox Code Playgroud)

它调用一个函数(在a中Service),它验证蓝牙连接并读取特征.

public boolean readFlag(int flag){
    /*... removed code here verifies that the Bluetooth Gatt is available,
    that the Service exists...*/

    BluetoothGattCharacteristic characteristic = Service.getCharacteristic(SEND_FLAGS_CHAR);

    if (characteristic == null) {
        Log.e(TAG, "char not found!");
        return false;
    }

    try {
        // Store …
Run Code Online (Sandbox Code Playgroud)

android bluetooth bluetooth-lowenergy

7
推荐指数
1
解决办法
6840
查看次数

使用具有蓝牙低功耗的createBond()

我正在创建一个通过Bluetooth Low Energy与设备进行通信的应用程序,主要是让手机显示来自设备的数据.我需要实现功能,如果将设备和手机移动到范围内,它们将自动识别为一对,并且无需用户交互即可连接.我一直在寻找Bonding来实现这一目标.

我正在尝试使用当前连接的设备,并在用户单击时创建与它的绑定ListItem.我调用BluetoothDevice.createBond()了对连接BluetoothDevice变量的引用.Android Developer 网站说for BluetoothDevice.createBond(),如果出现错误,将返回false,并且我应该注册ACTION_BOND_STATE_CHANGED以在Bonding开始和完成时被通知.

我有一些问题createBond(),这是我的问题所在:

  1. 大多数时候createBond()返回false,表明它无法开始绑定.这有什么可能的原因?(我的手机运行的是Android 4.4.2,API19,这createBond()是介绍的地方 - 所以不是这样.)
  2. 有时,绑定显然会成功,因为将调用ACTION_BOND_STATE_CHANGED接收器中的代码.我可能会误解维护和使用绑定所涉及的内容,但BLE设备在范围内时不会自动连接到手机,所以我可能会遗漏一些代码.建立债券后,我还需要做什么?
  3. 如果由于createBond()某种原因无效(例如,我必须createBond()在API19中引入应用程序API API),有哪些替代方案?

例子非常有帮助.查找有关与BLE绑定的信息令人沮丧.自学这个东西很困难,特别是没有教程.最重要的是,有些人说这是不可能的,因为当其他人说它肯定是可能的时候是"Just Works".BLE对我来说仍然是一个混乱的大云,所以现在,一些清晰度createBond()将非常感激.

android bluetooth-lowenergy

7
推荐指数
0
解决办法
1242
查看次数

标签 统计

android ×2

bluetooth-lowenergy ×2

bluetooth ×1