2016-01-21 2 views

ответ

11

XF не имеет реализации для фоновых задач. Вам нужно будет реализовать их изначально. Ниже приведены примеры того, как это сделать для каждого типа проекта.

UWP

https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BackgroundTask

Android https://developer.xamarin.com/guides/android/application_fundamentals/backgrounding/part_2_android_services/

WinRT

https://visualstudiomagazine.com/articles/2013/05/01/background-tasks-in-windows-store-apps.aspx

iOS

Только для тех, кто хочет iOS. https://developer.xamarin.com/guides/ios/application_fundamentals/backgrounding/part_3_ios_backgrounding_techniques/

Xamarin.Forms

Зайдя более подробно для каждой секции https://xamarinhelp.com/xamarin-background-tasks/

-1

Да, но это зависит от того, что вам нужно делать.

Вы можете, например, использовать System.Threading.Timer (.net класс) Деятельность/Услуги

private System.Threading.Timer timer; 

В OnCreate активность

TimeSpan timerTime = new TimeSpan(0, 0, 0, 0, 1000); 
      timer = new System.Threading.Timer(new System.Threading.TimerCallback(OnTimerFired), null, timerTime, timerTime); 

В деятельности OnDestroy

if (timer != null) 
      { 
       timer.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite); 
       timer.Dispose(); 
       timer = null; 
      } 


private void OnTimerFired(object state) 
{ 
    Do some periodic job 
} 
+0

Thanks. Но я действительно хочу запустить задачу в фоновом режиме, когда мое приложение не загружено. –

+0

Таким образом, вы можете использовать свою собственную вспомогательную службу в фоновом режиме, которая будет работать непрерывно и будет «управлять» основным приложением. или какой-то «планировщик» http://stackoverflow.com/questions/14376470/scheduling-recurring-task-in-android – Majkl

-1

Я использую Xamarin.Forms.Device.StartTimer метод, он начинает повторяющийся таймер, используя возможности тактовых устройств. Пока обратный вызов возвращает true, таймер будет продолжать повторяться.

http://developer.xamarin.com/api/member/Xamarin.Forms.Device.StartTimer/

Смежные вопросы