public static Task <string> GetHardwareVersionTaskAsync(this BandClient client)
        {
            var tcs = new TaskCompletionSource <string> ();

            client.GetHardwareVersionAsync(tcs.AttachCompletionHandler());
            return(tcs.Task);
        }
예제 #2
0
        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);
        }
예제 #4
0
        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");
        }