【发布时间】:2015-12-21 05:58:28
【问题描述】:
起初我认为这是我正在做的事情,但在尝试了 Microsoft Band 包含的官方代码示例(BandLayoutApp)之一后,我仍然无法使用 SDK 连接到我的 Band 2。我正在逐字使用示例项目及其包含的 AndroidManifest.xml。
Microsoft Band 2 已与我的 Nexus 6p 配对并正常运行。我每天都用它来锻炼身体,并将结果同步到我 Android 手机上的 Microsoft Health App。我知道 Android 6.0.1 更新破坏了与 Microsoft Health App 的兼容性并且刚刚更新,所以也许 SDK 还没有更新来解决这个问题?这只是我在排除故障并将健康应用程序版本与最新的 SDK 版本匹配后的猜测(假设它们遵循相同的版本控制)。
我有一部较旧的 Android 手机(运行 Android 5.1),我可以配对进行测试,但必须将 Band 恢复出厂设置才能做到这一点。
设备:Microsoft Band 2
设备固件版本:2.0.3923.0 26R
配对设备:Nexus 6p
Android 操作系统:6.0.1
微软健康应用版本:1.3.11217.1
乐队 SDK 版本:1.3.10929.1
来自微软官方示例的相关代码:
https://developer.microsoftband.com/bandSDK
private boolean getConnectedBandClient() throws InterruptedException, BandException
{
if (client == null) {
BandInfo[] devices = BandClientManager.getInstance().getPairedBands();
if (devices.length == 0) {
appendToUI("Band isn't paired with your phone.\n");
return false;
}
client = BandClientManager.getInstance().create(getBaseContext(), devices[0]);
}
else if (ConnectionState.CONNECTED == client.getConnectionState()) {
return true;
}
appendToUI("Band is connecting...\n");
return ConnectionState.CONNECTED == client.connect().await();
}
预期结果
下面的行应该返回一个结果(我已经配对的 Microsoft Band):
BandInfo[] devices = BandClientManager.getInstance().getPairedBands();
实际结果
以下行返回未找到设备:
BandInfo[] devices = BandClientManager.getInstance().getPairedBands();
【问题讨论】: