【问题标题】:Run background task every X amount of time每 X 次运行后台任务
【发布时间】:2023-03-08 21:43:01
【问题描述】:

我想启动一项服务,该服务偶尔会在所有平台上检查是否出现通知。是否有任何 nuget 可以连接所有平台或一些示例?

【问题讨论】:

  • 您需要更具体一点:您为什么要这样做?您考虑过哪些替代方案?例如,推送通知。没有所有细节就很难提供帮助
  • 我想每天运行一次服务来检查是否有一些通知要推送,是否有简单的显示
  • 使用 Cron 作业。

标签: xamarin xamarin.forms


【解决方案1】:

您可以使用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 中,因此您不需要任何特定于平台的逻辑。

http://iosapi.xamarin.com/index.aspx?link=M%3AXamarin.Forms.Device.StartTimer(System.TimeSpan%2CSystem.Func%7BSystem.Boolean%7D)

【讨论】:

  • 不是这样,只是应用时运行的定时器,我是说后台运行服务
【解决方案2】:

我认为你能做的最好的事情是:

不幸的是,这两个平台处理执行后台代码的方式完全不同。因此,我们无法将后台功能抽象到 Xamarin.Forms 库中。相反,我们将继续依赖原生 API 来执行我们共享的后台任务。

可以在此处找到有关此主题的更多信息: https://robgibbens.com/backgrounding-with-xamarin-forms/

【讨论】:

    猜你喜欢
    • 2016-07-24
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 2012-02-05
    • 2021-12-18
    • 1970-01-01
    相关资源
    最近更新 更多