private void WakeUp() { try { var wakeMessage = new WakeDeviceMessage(); Device.BeginInvokeOnMainThread(() => { MessagingCenter.Send(wakeMessage, "WakeDeviceMessage"); }); } catch {; } }
public async Task RunCounter(CancellationToken token) { await Task.Run(async() => { //var count = 0; var wakeMessage = new WakeDeviceMessage(); int timeDelay = 1000; var timeLimitCallWakeUp = System.DateTime.Now; while (true) { token.ThrowIfCancellationRequested(); try { timeLimitCallWakeUp = System.DateTime.Now; if (DetectNetwork()) { MainPageViewModel.SendLocationSync(); } else { Device.BeginInvokeOnMainThread(() => { MessagingCenter.Send(wakeMessage, "WakeDeviceMessage"); }); } var diffTime = (timeLimitCallWakeUp - System.DateTime.Now).TotalSeconds; if (diffTime > 30) { Device.BeginInvokeOnMainThread(() => { MessagingCenter.Send(wakeMessage, "WakeDeviceMessage"); }); } await Task.Delay(timeDelay); await MainPageViewModel.GetDataLocationSync(); } catch {; } } }, token); }