我已经使用Xamarin Forms开发了一个应用程序,我正在尝试根据一些更新的数据来更新每个平台的通知。
对于Android,流程如下(iOS的唯一区别是它使用后台抓取):
如果该应用程序处于打开状态或在后台运行,则此方法很好。但是,如果该应用程序已关闭,则更新现有通知的调用将失败。发生这种情况是因为关闭应用程序时Xamarin Forms尚未初始化,因此无法使用Dependency Service导致通知无法更新。
我想使用Dependency Service,因为我的应用程序使用Xamarin Forms,并且我希望在不同平台之间共享尽可能多的代码。在使用Xamarin Forms的同时,有人知道解决此问题的方法吗?
答案 0 :(得分:0)
因此,当应用程序关闭时,似乎无法调用Xamarin Form Dependency Service。但是,我能够针对我的问题提出另一种解决方案。
我必须具有更多特定于平台的代码才能克服该问题。我所做的不是使用Dependency Service更新现有的通知,而是收集了必要的信息以更新通知并将其发送回每个平台。然后,平台将使用收到的信息并自行更新通知。
这意味着不会共享对更新通知的调用,但是我只满意平台特定的一小部分逻辑,因为它允许我在关闭应用程序的情况下更新通知。