/// <summary> /// SensorCore needs to be deactivated when app goes to background /// </summary> public async Task DeactivateAsync() { _sensorActive = false; if (_stepCounter != null) { await _stepCounter.DeactivateAsync(); } }
protected override async void OnNavigatingFrom(NavigatingCancelEventArgs e) { if (_pollTimer != null) { _pollTimer.Stop(); } if (_stepCounter != null) { await _stepCounter.DeactivateAsync(); } }
public MainPage() { this.InitializeComponent(); this.NavigationCacheMode = NavigationCacheMode.Required; Window.Current.VisibilityChanged += async(oo, ee) => { if (ee.Visible) { if (await CallSensorcoreApiAsync(async() => { if (_stepCounter == null) { // Get sensor instance if needed... _stepCounter = await StepCounter.GetDefaultAsync(); } else { // ... otherwise just activate it await _stepCounter.ActivateAsync(); } })) { // Display current reading whenever application is brought to foreground await ShowCurrentReading(); } } else { // Sensor needs to be deactivated when application is put to background if (_stepCounter != null) { await CallSensorcoreApiAsync(async() => await _stepCounter.DeactivateAsync()); } } }; }