#xamarin #xamarin.forms
#xamarin #xamarin.forms
Вопрос:
Я хочу, чтобы таймер продолжался, когда приложение переводится в фоновый режим. Кажется, что таймер приостанавливается и возобновляется, когда приложение возвращается на исходную площадку.
_timer = new System.Timers.Timer();
_timer.Interval = 30000;
_timer.Elapsed = OnTimedEvent;
_timer.Enabled = true;
private void OnTimedEvent(object sender, System.Timers.ElapsedEventArgs e)
{
AutoSaveMethod();
}
Комментарии:
1. Это не совсем возможно при использовании .net-таймеров. Приложения имеют совершенно особое (специфичное для ОС) фоновое поведение. Есть некоторые библиотеки, такие как блестящие фоновые задания allancritchie.net/posts/shinyjobs это позволит вам реализовать его более легко. Но вам нужно понимать, как работает фоновая обработка на мобильных платформах, чтобы понять, чего вы можете ожидать. Спойлер: вы не можете гарантировать выполнение в фоновом режиме. (прочитайте некоторые документы ios android об этом)
2. iOS по умолчанию не позволяет приложению работать в фоновом режиме. Смотрите документ о ios-backgrounding-techniques .