public override StartCommandResult OnStartCommand(Intent intent, [GeneratedEnum] StartCommandFlags flags, int startId) { _cts = new CancellationTokenSource(); Task.Run(() => { try { //INVOKE THE SHARED CODE SincronizacionBLL sincronizacionBLL = new SincronizacionBLL(); sincronizacionBLL.EjecutarSincronizacionAutomatica(_cts.Token).Wait(); } catch (Exception ex) { } finally { if (_cts.IsCancellationRequested) { var message = new CancelledMessage(); Device.BeginInvokeOnMainThread( () => MessagingCenter.Send(message, "CancelledMessage") ); } } }, _cts.Token); return(StartCommandResult.Sticky); }
async void btnSincronizar_Clicked(object sender, EventArgs e) { if (await ParametrosSistema.isOnline) { activityIndicator.IsRunning = true; activityIndicator.IsVisible = true; SincronizacionBLL bll = new SincronizacionBLL(); await bll.SincronizarRegistrosPendientes(); activityIndicator.IsRunning = false; activityIndicator.IsVisible = false; } else { await DisplayAlert("Atención", "No es posible conectar con el servidor remoto. Verifique su conexión a Internet.", "Aceptar"); } }