Reputation: 7
At first I thought it was something I was doing, but after trying one of the official code examples (BandLayoutApp) included for the Microsoft Band I still cannot connect to my Band 2 with the SDK. I am using the sample project verbatim with its included AndroidManifest.xml.
The Microsoft Band 2 is paired to my Nexus 6p and functions correctly. I use it everyday for exercising and results sync to the Microsoft Health App on my Android phone. I know the Android 6.0.1 update broke compatibility with the Microsoft Health App and was just updated, so perhaps the SDK wasn't updated to address that yet? That's just my guess after troubleshooting and also matching the health app version to the latest SDK version (assuming they follow the same versioning).
I have an older Android Phone (running Android 5.1) I could pair with to test, but would have to factory reset the Band to do that.
Device: Microsoft Band 2
Device Firmware Version: 2.0.3923.0 26R
Paired Device: Nexus 6p
Android OS: 6.0.1
Microsoft Health App Version: 1.3.11217.1
Band SDK Version: 1.3.10929.1
Relevant code from the official Microsoft examples:
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();
}
Expected Result
Line below should return one result (my already paired Microsoft Band):
BandInfo[] devices = BandClientManager.getInstance().getPairedBands();
Actual Result
Following line returns no devices found:
BandInfo[] devices = BandClientManager.getInstance().getPairedBands();
Upvotes: 0
Views: 409
Reputation: 227
The currently released versions of the Android Microsoft Band SDK will not work with Android 6.0.1, as Google broke one of the key Bluetooth APIs the SDK is using to figure out if a Bluetooth device is a Microsoft Band.
So, to answer your question, moving to an older phone right now would almost certainly fix your issue, though you will have to update your SDK version as soon as Microsoft ships an updated SDK with a workaround.
Edit:
Microsoft published a new SDK that gets around this issue on January 6th, 2016. The latest version of the SDK can be found here: http://developer.microsoftband.com/bandSDK
Upvotes: 2