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 との Bluetooth 接続を確立しようとするため、「接続済み」メソッドは必要ありません (返された IBandClient が破棄された場合にのみ切断されます)。接続できない場合、メソッドは例外をスローします。

于 2015-07-31T05:07:27.307 に答える
1

センサーの 1 つをサブスクライブできます。センサーの更新期間よりも長い期間値を取得していない場合、センサーは切断されます。たとえば、心拍数を購読する場合、毎秒値を取得する必要があります。1 秒以上受信されない場合、切断されます。バッテリーに関しては、温度などの間隔が長いものを使用します-30秒。常時接続が必要だとおっしゃいました。とにかくセンサーのいくつかが必要かもしれません。

于 2015-08-30T20:41:01.887 に答える