我正在使用适用于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?这非常重要:例如,在连接之后,我可以带着我的乐队离开智能手机远离连接。
答案 0 :(得分:2)
在Windows上,不需要“连接”方法,因为调用IBandClientManager.ConnectAsync()会尝试与Band建立蓝牙连接(仅在丢弃返回的IBandClient时断开)。如果无法建立连接,该方法将抛出异常。
答案 1 :(得分:1)
您可以订阅其中一个传感器,如果您在一段时间内没有超过传感器更新周期的值,则会断开连接。例如。如果您订购心率,您应该每秒获得一个值。如果超过一秒钟未收到,则断开连接。电池方式我会使用间隔较长的东西,例如温度 - 30秒。 你提到你需要不断的连接。所以也许你还需要一些传感器。