我想启动一项服务,在所有平台上偶尔检查一下是否有通知出现。是否有任何nuget连接所有平台或一些例子?
答案 0 :(得分:8)
您可以使用Device.StartTimer(TimeSpan minutes)
方法启动在给定时间跨度后将重复的后台任务。这是一个代码示例:
var minutes = TimeSpan.FromMinutes (3);
Device.StartTimer (minutes, () => {
// call your method to check for notifications here
// Returning true means you want to repeat this timer
return true;
});
这包含在Xamarin Forms中,因此您不需要任何特定于平台的逻辑。
答案 1 :(得分:1)
我认为你能做的最好的就是:
不幸的是,这两个平台已经发展为处理执行后台代码的方式完全不同。因此,我们无法将后台功能抽象到Xamarin.Forms库中。相反,我们将继续依赖本机API来执行我们的共享后台任务。
有关此主题的更多信息,请访问: https://robgibbens.com/backgrounding-with-xamarin-forms/