Does Xamarin.Forms support periodic background tasks?

孤街浪徒 提交于 2020-05-24 16:23:28

问题


I am having a difficult time finding documentation on background tasks support for Xamarin.Forms. Does Xamarin.Forms provide support for periodic background tasks?

I need to implement this for both Windows Phone 10 and Android.


回答1:


XF has no implementation for background tasks. You will need to implement these natively. Below are examples on how to do it for each type of project.

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

Just for those that want iOS as well. https://developer.xamarin.com/guides/ios/application_fundamentals/backgrounding/part_3_ios_backgrounding_techniques/

Xamarin.Forms

Going into more detail for each section is https://xamarinhelp.com/xamarin-background-tasks/




回答2:


Yeas, but it depends what you need to do.

You can for example use System.Threading.Timer (.net class) is Activity/Service

private System.Threading.Timer timer;

In Activity OnCreate

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

In Activity 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
}



回答3:


I use Xamarin.Forms.Device.StartTimer Method, it starts a recurring timer using the device clock capabilities. While the callback returns true, the timer will keep recurring.

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



来源:https://stackoverflow.com/questions/34923444/does-xamarin-forms-support-periodic-background-tasks

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!