检查Microsoft Band设备是否已连接

时间:2015-07-29 13:51:01

标签: c# ios objective-c windows-phone-8.1 microsoft-band

我正在使用适用于iOS和Windows Phone的Microsoft Band SDK。我注意到在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()这样的功能。

有没有办法检查Band是否连接到smarthphone?这非常重要:例如,在连接之后,我可以带着我的乐队离开智能手机远离连接。

2 个答案:

答案 0 :(得分:2)

在Windows上,不需要“连接”方法,因为调用IBandClientManager.ConnectAsync()会尝试与Band建立蓝牙连接(仅在丢弃返回的IBandClient时断开)。如果无法建立连接,该方法将抛出异常。

答案 1 :(得分:1)

您可以订阅其中一个传感器,如果您在一段时间内没有超过传感器更新周期的值,则会断开连接。例如。如果您订购心率,您应该每秒获得一个值。如果超过一秒钟未收到,则断开连接。电池方式我会使用间隔较长的东西,例如温度 - 30秒。 你提到你需要不断的连接。所以也许你还需要一些传感器。