public static Task <string> GetHardwareVersionTaskAsync(this BandClient client) { var tcs = new TaskCompletionSource <string> (); client.GetHardwareVersionAsync(tcs.AttachCompletionHandler()); return(tcs.Task); }
public override async Task Prepare() { if (BandClient == null) { BandClient = await BandClientManager.Instance.ConnectAsync(BandInfo); } await base.Prepare(); FirmwareVersion = await BandClient.GetFirmwareVersionAsync(); OnPropertyChanged("FirmwareVersion"); HardwareVersion = await BandClient.GetHardwareVersionAsync(); OnPropertyChanged("HardwareVersion"); }
public override async void OnAppearing(object navigationContext) { var bandInfo = navigationContext as BandDeviceInfo; if (bandInfo != null) { BandInfo = bandInfo; BandName = bandInfo.Name; if (BandClient == null) { BandClient = await BandClientManager.Instance.ConnectAsync(BandInfo); } IsConnected = BandClient.IsConnected; FirmwareVersion = await BandClient.GetFirmwareVersionAsync(); HardwareVersion = await BandClient.GetHardwareVersionAsync(); } base.OnAppearing(navigationContext); }
async void SearchBand() { try { var bandClientManager = BandClientManager.Instance; // query the service for paired devices var pairedBands = await bandClientManager.GetPairedBandsAsync(); // connect to the first device var bandInfo = pairedBands.FirstOrDefault(); bandClient = await bandClientManager.ConnectAsync(bandInfo); if (bandClient.SensorManager.HeartRate.UserConsented == UserConsent.Unspecified || bandClient.SensorManager.HeartRate.UserConsented == UserConsent.Declined) { await bandClient.SensorManager.HeartRate.RequestUserConsent(); } if (bandClient.SensorManager.HeartRate.UserConsented == UserConsent.Granted) { await bandClient.SensorManager.HeartRate.StartReadingsAsync(); bandClient.SensorManager.HeartRate.ReadingChanged += HeartRate_ReadingChanged; } // pedometer only works with band 2 if (int.Parse(await bandClient.GetHardwareVersionAsync()) >= 20) { await bandClient.SensorManager.Pedometer.StartReadingsAsync(); bandClient.SensorManager.Pedometer.ReadingChanged += Pedometer_ReadingChanged; } } catch { } }
public override async Task Prepare() { if (BandClient == null) { IsLoading = true; BandClient = await BandClientManager.Instance.ConnectAsync(BandInfo); IsLoading = false; BandClient.TileManager.TileButtonPressed += (sender, e) => { CrossLocalNotifications.Current.Show( "Tile Button Pressed", string.Format("Button [{0}] pressed on page [{1}] of tile [{2}].", e.ElementId, e.PageId, e.TileId)); }; BandClient.TileManager.TileOpened += (sender, e) => { CrossLocalNotifications.Current.Show("Tile Opened", string.Format("Tile [{0}] opened.", e.TileId)); }; BandClient.TileManager.TileClosed += (sender, e) => { CrossLocalNotifications.Current.Show("Tile Closed", string.Format("Tile [{0}] closed.", e.TileId)); }; await BandClient.TileManager.StartEventListenersAsync(); } await base.Prepare(); FirmwareVersion = await BandClient.GetFirmwareVersionAsync(); OnPropertyChanged("FirmwareVersion"); HardwareVersion = await BandClient.GetHardwareVersionAsync(); OnPropertyChanged("HardwareVersion"); }