检查应用程序是否来自后台任务 运行
Check if application is running from a background task
我正在创建一个带有后台任务的 UWP 应用程序。我不想 运行 在实际应用程序 运行ning 或挂起时进入后台。有什么方法可以实现吗?我查看了 SystemConditionType,但没有任何内容符合我的要求。
由于后台任务(特殊任务除外)运行 在单独的进程中,因此没有一种优雅的方法来检查应用程序是否正在 运行ning,因为应用程序之间不共享内存和后台任务。我实现成功的方式有两种:
应用服务
Create an app service 在应用程序中,在后台任务中,尝试连接服务。如果服务可用,则表示该应用正在 运行ning。当你需要在任务和应用程序之间进行通信时,这是最喜欢的。
文件锁定
这是简单场景中最喜欢的一个,您只需要知道应用程序是否 运行ning 即可。
- 每次应用程序启动时,create/open 本地应用程序文件夹中的一个文件,打开它进行写入并在应用程序 运行ning 期间保持打开状态。在 Suspending 事件时关闭它并在 Resuming 事件时重新打开它。
- 在后台任务中,尝试打开文件进行写入,如果尝试成功,则表示应用程序未运行ning。
- 立即在后台任务中关闭文件。
注:
在周年更新中可用的新 API 中,后台任务可能会在 same process as the app 中执行。使用新模型,您将不会再遇到这个问题。
我正在创建一个带有后台任务的 UWP 应用程序。我不想 运行 在实际应用程序 运行ning 或挂起时进入后台。有什么方法可以实现吗?我查看了 SystemConditionType,但没有任何内容符合我的要求。
由于后台任务(特殊任务除外)运行 在单独的进程中,因此没有一种优雅的方法来检查应用程序是否正在 运行ning,因为应用程序之间不共享内存和后台任务。我实现成功的方式有两种:
应用服务
Create an app service 在应用程序中,在后台任务中,尝试连接服务。如果服务可用,则表示该应用正在 运行ning。当你需要在任务和应用程序之间进行通信时,这是最喜欢的。
文件锁定
这是简单场景中最喜欢的一个,您只需要知道应用程序是否 运行ning 即可。
- 每次应用程序启动时,create/open 本地应用程序文件夹中的一个文件,打开它进行写入并在应用程序 运行ning 期间保持打开状态。在 Suspending 事件时关闭它并在 Resuming 事件时重新打开它。
- 在后台任务中,尝试打开文件进行写入,如果尝试成功,则表示应用程序未运行ning。
- 立即在后台任务中关闭文件。
注: 在周年更新中可用的新 API 中,后台任务可能会在 same process as the app 中执行。使用新模型,您将不会再遇到这个问题。