首页 文章

如何在没有打开UWP应用程序的情况下保持UWP应用程序数据在后台刷新?

提问于
浏览
0

我试图弄清楚UWP应用程序如何保持其数据更新 without having to be in foreground at all times .

例如,想象一下从某个地方获取数据的UWP应用程序 . 该数据可能会改变意味着UWP应用程序必须刷新它 . 无论UWP应用程序是否处于前台(无论用户是否盯着它),我都希望有一些组件在后台进行刷新 .

在Android中,您可以使用非粘性服务或待处理意图 .

在IOS上,我听说你可以使用一种名为BackgroundAppRefresh的东西 .

我在UWP方面进行了一些研究,我正在研究AppService,我发现它可以运行应用程序外流程或应用程序内流程 .

但是,如果应用程序处于后台(用户没有盯着它),应用程序内进程Windows 10 AppService将被终止 . 一个应用程序外进程Windows 10 AppService将运行最多30秒然后被杀死https://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service .

这意味着我的后台同步将无法工作,因为如果用户没有在前台使用UWP应用程序(用户正在查看它),它将在最多30秒后停止 .

因此,我得出结论,Windows 10 AppService不是我可以用来实现此功能的 .

在UWP中如何以及如何使用它来实现这样的功能?

2 回答

  • 1

    在UWP应用程序中,即使应用程序未在前台主动运行,您也可以使用BackgroundTasks来刷新应用程序数据 .

    https://docs.microsoft.com/en-us/windows/uwp/launch-resume/support-your-app-with-background-tasks

  • 1

    这是不可能的 . 您的iOS信息也不正确 - 您没有时间在那里刷新应用程序 . 它只能在Android上运行,因为它可以完全打开,甚至可能使您的应用无法使用设备 .

    在UWP上无法保证这样做 . BackgroundTask 仅提供有限的时间在后台工作,如果您的问题是在下载内容时没有限制 . 如果您需要时间做其他事情,那么最好的解决方案是在应用程序位于前台时要求 ExtendedExecution ,以便它不会进入后台,但它可能不会被授予并且不被授予永久运行前景也是 .

    另外值得注意的是,如果您希望应用程序在PC上运行,则应用程序不在后台,除非它被最小化 .

相关问题