0

我正在使用适用于 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().

有没有办法检查手环是否连接到智能手机?这非常重要:例如,在连接后,我可以带着我的手环远离智能手机而失去连接。

4

2 回答 2

2

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

于 2015-07-31T05:07:27.307 回答
1

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

于 2015-08-30T20:41:01.887 回答