yarly
yarly

Reputation: 7

getPairedBands() returns no devices in Microsoft Band SDK

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

Answers (1)

Antion19
Antion19

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

Related Questions