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+
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.
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