C# 检查Microsoft Band设备是否已连接

C# 检查Microsoft Band设备是否已连接,c#,ios,objective-c,windows-phone-8.1,microsoft-band,C#,Ios,Objective C,Windows Phone 8.1,Microsoft Band,我正在使用Microsoft Band SDK,用于iOS和Windows Phone。我注意到,在iOS上,我可以检查可穿戴设备是否连接到智能手机: MSBClient* bandClient = [[[MSBClientManager sharedManager]attachedClients]firstObject]; if(bandClient.isDeviceConnected){ //... } 有没有办法在Windows Phone上达到同样的效果?我通过以下方式在Win

我正在使用Microsoft Band SDK,用于iOS和Windows Phone。我注意到,在iOS上,我可以检查可穿戴设备是否连接到智能手机:

MSBClient* bandClient = [[[MSBClientManager sharedManager]attachedClients]firstObject];

if(bandClient.isDeviceConnected){
   //...
}
有没有办法在Windows Phone上达到同样的效果?我通过以下方式在Windows Phone上获取bandClient:

IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();
using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]))
{
    //stuff...
}
但是,在连接之后,我如何理解该频段是否在某一点连接到(或断开)手机?在Windows Phone sdk上没有
onClientDisconnected()
回调,也没有类似于
bandClient.isDeviceConnected()的函数


是否有办法检查频段是否连接到smarthphone?这一点非常重要:例如,连接后,我可以带着我的乐队远离失去连接的智能手机。

在Windows上,调用IBandClientManager时不需要“已连接”方法。ConnectAsync()尝试与乐队建立蓝牙连接(仅在释放返回的IBandClient时断开)。如果无法建立连接,该方法将引发异常。

在Windows上,调用IBandClientManager时不需要“已连接”方法。ConnectAsync()尝试与频带建立蓝牙连接(仅在释放返回的IBandClient时断开)。如果无法建立连接,该方法将引发异常。

在Windows上,调用IBandClientManager时不需要“已连接”方法。ConnectAsync()尝试与频带建立蓝牙连接(仅在释放返回的IBandClient时断开)。如果无法建立连接,该方法将引发异常。

在Windows上,调用IBandClientManager时不需要“已连接”方法。ConnectAsync()尝试与频带建立蓝牙连接(仅在释放返回的IBandClient时断开)。如果无法建立连接,该方法将引发异常。

您可以订阅其中一个传感器,如果您没有获得超过传感器更新时间的值,则该传感器将断开连接。例如,如果您订阅心率,则应每秒获得一个值。如果超过一秒未收到该值,然后断开连接。电池方面,我会使用时间间隔较长的设备,例如温度-30秒。
您提到您需要持续连接。因此,您可能仍然需要一些传感器。

您可以订阅其中一个传感器,如果您没有获得超过传感器更新时间的值,则该传感器将断开连接。例如,如果您订阅心率,则应每秒获得一个值。如果未收到该值超过一秒钟,然后断开连接。电池方面,我会使用时间间隔较长的设备,例如温度-30秒。
您提到您需要持续连接。因此,您可能仍然需要一些传感器。

您可以订阅其中一个传感器,如果您没有获得超过传感器更新时间的值,则该传感器将断开连接。例如,如果您订阅心率,则应每秒获得一个值。如果未收到该值超过一秒钟,然后断开连接。电池方面,我会使用时间间隔较长的设备,例如温度-30秒。
您提到您需要持续连接。因此,您可能仍然需要一些传感器。

您可以订阅其中一个传感器,如果您没有获得超过传感器更新时间的值,则该传感器将断开连接。例如,如果您订阅心率,则应每秒获得一个值。如果未收到该值超过一秒钟,然后断开连接。电池方面,我会使用时间间隔较长的设备,例如温度-30秒。
您提到您需要持续连接。因此,您可能仍然需要一些传感器。

是的,但我如何理解频段是否在某个点与smarthphone断开连接?Windows Phone sdk没有类似“OnClient.IsDeviceConnection”的回调,正如我在上面所说的,没有“client.IsDeviceConnection”属性(或方法)。如果我建立了连接,然后我带着我的乐队离开电话很远,连接就会丢失。我不知道如何理解它。我是否必须每隔10秒(例如10秒)调用ConnectAsync()进行“连接轮询”呢?看起来真的很难看。谢谢你的帮助!Windows phone乐队SDK不提供“断开连接时”回调或事件。如果您在IBandClient上调用的方法未成功(例如,由于频带超出范围),则该方法将引发异常。频带SDK受底层平台Bluetooth API的限制,这些API并不总是允许它确定蓝牙设备何时无法再使用(或暂时无法)访问。您的应用程序必须设计为能够适应临时连接故障。同时,您的应用程序应该通过开放连接到频带来减少时间。我怀疑存在这种性质的问题。与其他两个平台相比,这有点令人沮丧(iOS和Android)。不幸的是,我的应用程序必须经常与乐队链接。正如你建议的那样,我唯一能做的就是检测系统引发的异常,并暂时停止我的应用程序与乐队之间的交互。然后,每隔n秒,我就可以尝试重新连接到可穿戴设备。因此,我的问题的答案是你在这里的第二条评论ove。如果您复制应答框中的粘贴,我将接受。阿甘,谢谢。是的,但我如何理解乐队在某一点上是否与smarthphone断开连接?Windows Phone sdk没有类似“OnClient disconnected”的回调,正如我在上面所说的,没有“client.IsDeviceConnection”属性(或方法).如果我建立了联系,然后我带着我的乐队离开电话亭