低功耗蓝牙 CanUpdate 特性 属性

Bluetooth LE CanUpdate Characteristic property

我正在构建一个 Xamarin.Forms 跨平台移动应用程序,它使用 Monkey.Robotics for its Bluetoth Low Energy functionality. I am connecting to an mbed based implimentation of a custom GATT service

在 Xamarin C# 中,是什么触发了特性。CanUpdate 属性 在 Monkey.Robotics 中?

这是我的 C# 基于的标准示例:

if (characteristic.CanUpdate) {
                characteristic.ValueUpdated += (s, e) => {
                    Debug.WriteLine("characteristic.ValueUpdated");
                    Device.BeginInvokeOnMainThread( () => {
                        UpdateDisplay(characteristic);
                    });
                    IsBusy = false; // only spin until the first result is received
                };
                IsBusy = true;
                characteristic.StartUpdates();
            }

这一直有效,但自从我更改为我正在连接的自定义 GATT 服务后,CanUpdate 属性 始终为假。这是什么 属性 以及它是如何触发的?这将真正帮助我调试 GATT 服务代码。

谢谢

Monkey.Robotics是开源的,大家自己去看看吧

CanUpdate是这样实现的:

public bool CanUpdate {

  get {
    return (this.Properties & CharacteristicPropertyType.Notify) != 0;
  }
}