protected async override void OnNavigatedTo(NavigationEventArgs e) { StatusBarProgressIndicator progressbar = StatusBar.GetForCurrentView().ProgressIndicator; await progressbar.ShowAsync(); if ((e.Parameter != null) && (e.Parameter.GetType() == typeof(GattDeviceService))) { _service = ((GattDeviceService)e.Parameter); this.lblDeviceName.Text = _service.Device.Name; this.lblServiceName.Text = (string)_conv.Convert(_service.Uuid, typeof(string), null, null); this.lblServiceAddress.Text = _service.Uuid.ToString(); _characteristics = new List <CharacteristicWithValue>(); foreach (var c in _service.GetAllCharacteristics()) { var val = new CharacteristicWithValue(); val.GattCharacteristic = c; if (((int)c.CharacteristicProperties & (int)GattCharacteristicProperties.Read) != 0) { try { GattReadResult readResult = await c.ReadValueAsync(); if (readResult.Status == GattCommunicationStatus.Success) { val.Value = new byte[readResult.Value.Length]; DataReader.FromBuffer(readResult.Value).ReadBytes(val.Value); } } catch { } } _characteristics.Add(val); } lstCharacteristics.ItemsSource = _characteristics; } this.navigationHelper.OnNavigatedTo(e); await progressbar.HideAsync(); }
protected async override void OnNavigatedTo(NavigationEventArgs e) { StatusBarProgressIndicator progressbar = StatusBar.GetForCurrentView().ProgressIndicator; await progressbar.ShowAsync(); if ((e.Parameter != null) && (e.Parameter.GetType() == typeof(GattDeviceService))) { _service = ((GattDeviceService)e.Parameter); this.lblDeviceName.Text = _service.Device.Name; this.lblServiceName.Text = (string)_conv.Convert(_service.Uuid, typeof(string), null, null); this.lblServiceAddress.Text = _service.Uuid.ToString(); _characteristics = new List<CharacteristicWithValue>(); foreach (var c in _service.GetAllCharacteristics()) { var val = new CharacteristicWithValue(); val.GattCharacteristic = c; if (((int)c.CharacteristicProperties & (int)GattCharacteristicProperties.Read) != 0) { try { GattReadResult readResult = await c.ReadValueAsync(); if (readResult.Status == GattCommunicationStatus.Success) { val.Value = new byte[readResult.Value.Length]; DataReader.FromBuffer(readResult.Value).ReadBytes(val.Value); } } catch { } } _characteristics.Add(val); } lstCharacteristics.ItemsSource = _characteristics; } this.navigationHelper.OnNavigatedTo(e); await progressbar.HideAsync(); }