在应用关闭的情况下致电Xamarin.Forms依赖服务

时间:2019-03-15 16:16:26

标签: android ios xamarin xamarin.forms xamarin.android

我已经使用Xamarin Forms开发了一个应用程序,我正在尝试根据一些更新的数据来更新每个平台的通知。

对于Android,流程如下(iOS的唯一区别是它使用后台抓取):

  • 每天收到一次通知。
  • 这会触发对外部API的调用,以接收一些更新的内容。
  • 然后使用从API调用接收的信息更新现有通知。这是通过Xamarin Forms中的Dependency Service完成的。

如果该应用程序处于打开状态或在后台运行,则此方法很好。但是,如果该应用程序已关闭,则更新现有通知的调用将失败。发生这种情况是因为关闭应用程序时Xamarin Forms尚未初始化,因此无法使用Dependency Service导致通知无法更新。

我想使用Dependency Service,因为我的应用程序使用Xamarin Forms,并且我希望在不同平台之间共享尽可能多的代码。在使用Xamarin Forms的同时,有人知道解决此问题的方法吗?

1 个答案:

答案 0 :(得分:0)

因此,当应用程序关闭时,似乎无法调用Xamarin Form Dependency Service。但是,我能够针对我的问题提出另一种解决方案。

我必须具有更多特定于平台的代码才能克服该问题。我所做的不是使用Dependency Service更新现有的通知,而是收集了必要的信息以更新通知并将其发送回每个平台。然后,平台将使用收到的信息并自行更新通知。

这意味着不会共享对更新通知的调用,但是我只满意平台特定的一小部分逻辑,因为它允许我在关闭应用程序的情况下更新通知。