我正在创建一个带后台任务的UWP应用程序。我不想在真正的应用程序运行或暂停时运行后台。有没有办法实现这一目标?我看过SystemConditionType,但没有什么能适合我正在寻找的东西。
答案 0 :(得分:6)
由于后台任务(特殊任务除外)在一个单独的进程中运行,因此没有一种优雅的方法可以检查应用程序是否正在运行,因为应用程序和后台任务之间没有共享内存。我成功实施了两种方式:
应用服务
应用程序中的Create an app service,在后台任务中,尝试连接到该服务。如果服务可用,则表示该应用正在运行。当您需要在任务和应用程序之间进行通信时,这是最受欢迎的。
文件锁定
这是在简单场景中最喜欢的一个,您只需要知道应用程序是否正在运行。
注意:强> 在周年纪念更新中可用的新API中,后台任务可以在same process as the app中执行。使用新模型,您将不再遇到此问题。