应用程序运行时,Windows 10会自动更新内容

时间:2015-07-27 17:15:35

标签: c# windows windows-10

我有一个Windows 10应用程序,它与api通信以获取所有内容。当它开始时这样做是好的。当有新的内容从api下载时,我希望应用程序在应用程序自动运行时更新。我已经实现了更新,点击了一个按钮运行获取api调用更新应用程序,我知道这不是一个好方法。

我只需要了解如何在Windows 10 App中实现此类功能,以便它可以每15分钟或每当有新内容时自动运行更新功能。

2 个答案:

答案 0 :(得分:0)

你需要一个BackgroundTask。您可以在AppxManifest.xml中定义一个在不同条件下运行的文件,例如:在你的情况下,一个计时器。操作系统会根据需要启动它。这可以以可靠的方式检查是否有新数据。 [您的应用可能会暂停,因此您应用中的任何计时器都无法可靠地触发。您真的在寻找后台处理 - 检查数据更新。 BackgroundTasks专为这种情况而设计。]

然后,如果您的应用正在运行,则需要与您的应用进行通信。后台任务是否下载数据并“ping”您的应用程序,或者后台任务ping您的应用程序以下载数据是一个小细节; backgroundtask知道有可用的数据,如果你的应用正在运行,你想告诉它。一种方法是通过AppServices

https://msdn.microsoft.com/library/windows/apps/xaml/windows.applicationmodel.appservice.aspx

答案 1 :(得分:-2)

一个简单易行的想法可能是使用DispatcherTimer-Class。每隔x分钟/秒运行一次的计时器,并检查API上的新数据。当有新数据可用时,请更新绑定到UI-Elements的数据源。

有关DispatcherTimer的更多信息: https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.dispatchertimer.aspx