Search code examples
c#uwpmicrosoft-band

How to detect Microsoft Band Version


Currently I'm doing the following to detect what Microsoft Band model the user has:

FirmwareVersion = await SelectedBand.GetFirmwareVersionAsync();
BandModel = int.Parse(FirmwareVersion.Split('.')[0])< 10 ? 2 : 1;

The reason for this approach is because the version of the Band 1 firmware is higher than that of the Band 2. This makes sense from an engineering perspective but can potentially lead to a conflict once the Band 2 reaches 10+

  • Band 1 uses 10.x.x.x
  • Band 2 uses 2.x.x.x

Is there a better way to do this? Has anyone found a more accurate identifier of the Band model?

Note: I do also use SelectedBand.GetHardwareVersionAsync() however it returns a whole number that doesn't appear relevant to the Band model.


Solution

  • with the help of the Microsoft Band SDK you can get both firmware and hardware version. Check the hardware version with BandClient.GetHardwareVersionAsync(). You'll get <= 19 for v1 and >= 20 for v2