Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS CoreBooth与读取响应和通知包有何不同?_Ios_Xamarin_Xamarin.ios_Bluetooth Lowenergy_Core Bluetooth - Fatal编程技术网

iOS CoreBooth与读取响应和通知包有何不同?

iOS CoreBooth与读取响应和通知包有何不同?,ios,xamarin,xamarin.ios,bluetooth-lowenergy,core-bluetooth,Ios,Xamarin,Xamarin.ios,Bluetooth Lowenergy,Core Bluetooth,我们的外围设备上有一个电池特性,既可读又能发出通知 在Android中,很简单,有一个用于读取响应的回调函数(onCharacteristicRead),还有一个用于通知数据包的回调函数(onCharacteristicChanged) 但在iOS中,只有一个用于读取和通知的回调函数(didUpdateValueForCharacteristic),我们似乎无法找到一种方法来识别正在发生的外围操作(读取或通知) 有没有办法知道我们收到的是读取响应还是通知 请注意,对于只能读取或通知的字符,我们没

我们的外围设备上有一个电池特性,既可读又能发出通知

在Android中,很简单,有一个用于读取响应的回调函数(
onCharacteristicRead
),还有一个用于通知数据包的回调函数(
onCharacteristicChanged

但在iOS中,只有一个用于读取和通知的回调函数(
didUpdateValueForCharacteristic
),我们似乎无法找到一种方法来识别正在发生的外围操作(读取或通知)

有没有办法知道我们收到的是读取响应还是通知


请注意,对于只能读取或通知的字符,我们没有任何问题,代码就像一个字符一样工作。

无法识别读取响应和通知,因为它们来自同一个回调,没有标识符


如果您想在特殊情况下区分它们,您可能需要在固件端使用两个协议(一个用于读取,另一个用于通知)。因此,您可以在应用程序中使用您的协议来区分它们。一般来说,我们不区分它们。

首先,你为什么关心它们?您获得了一个新值,因此只需根据需要处理它。但要回答你的问题,没有办法确定。您可以在发出读取时设置一个标志,然后在获得更新的值时进行检查;如果设置了,那么很可能这是对您阅读的响应的更新,但您不能确定。我真的不在乎。。。我只是好奇。无论哪种方式,我的应用程序都运行良好。