public async Task Start() { _cts = new CancellationTokenSource(); StaticObjects.IsCollecting = true; _taskId = UIApplication.SharedApplication.BeginBackgroundTask("LongRunningTask", OnExpiration); try { var net = new SensorCollectionManager(); //await net.PhoneSensorOperationsAsync(_cts.Token); } catch (OperationCanceledException) { } finally { if (_cts.IsCancellationRequested) { var message = new CancelledMessage(); Device.BeginInvokeOnMainThread( () => MessagingCenter.Send(message, "CancelledMessage") ); } } UIApplication.SharedApplication.EndBackgroundTask(_taskId); }
private void CollectionService() { Task.Run(() => { try { if (!isRunning) { var sen = new SensorCollectionManager(); //sen.PhoneSensorOperationsAsync(_cts.Token); } } catch (Exception ex) { ExceptionErrorLogger.writeFileOnInternalStorage(ex.ToString()); } finally { if (_cts.IsCancellationRequested) { var message = new CancelledMessage(); Device.BeginInvokeOnMainThread( () => MessagingCenter.Send(message, "CancelledMessage") ); } } }, _cts.Token); }