禁用后台任务

时间:2015-07-03 04:22:48

标签: c# windows-phone-8.1 background-task

我的应用处理原始推送通知,但当它在前台运行或作为后台任务时,它会以不同的方式处理它们。

现在,当应用程序启动时,我检查是否已经注册了bg任务,如果是,那么我取消注册任务并让应用程序处理推送通知,当应用程序关闭或暂停时,我重新注册bg任务。

这种方法对我来说似乎不太干净。是否有更好的方法可以在应用处于活动状态时暂停后台任务,或者从IBackgroundTask检查应用程序的状态?

1 个答案:

答案 0 :(得分:1)

首先,请检查您的通知是否已作为MSDN says传递给 BackgroundTask

  

当您的应用云服务向Windows发送通知时,您的应用有机会在显示举报,更新磁贴或徽章或向后台任务发送原始通知之前拦截并处理该通知

如果您有正在运行的应用程序,您应该能够在通知进入后台任务或其他地方之前拦截通知。

如果你想要区分后台任务的工作,根据用户界面,你可以在 LocalSettings 中提供一个负责UI状态的标志,然后让你的BTask检查标志并决定是否进行工作。

用户界面只更改设置中的标记,然后您不必取消注册BTask。