应用程序在FG上时的Toast通知

时间:2012-08-17 05:22:51

标签: c# background notifications windows-phone-7.1 foreground

我有一个带有BG代理实施的应用程序。如果BG代理识别出任何升级可用性,则它将通过Toast通知将该通知发送给用户。我有一个疑问。场景是这样的,如果应用程序退出并在BG中运行,则会显示Toast通知(TN),一切都很顺利。但是,如果应用程序在FG中运行,并且在BG和BG中有某些内容要通知用户,则不会显示TN,尽管日志文件中记录了所有内容,但设备的UI上没有显示任何内容。这是正常的吗?或者应该做些什么?另外,有没有办法检测我的应用程序是否在FG中运行?如果是这样,我不想启动BG任务,这可以实现吗?

所有答案和建议表示赞赏。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Thread.CurrentThread.IsBackground检查它是在后台还是前台,并相应地工作。您也可以根据自己的要求使用Thread.CurrentThread.IsAlive。您可以在此处找到有用的信息:http://msdn.microsoft.com/en-us/library/h158zycw

如果应用在后台使用Toast Notifications,则使用Raw Notifictions。您可以从此处了解原始通知:http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202977(v=vs.92).aspx

总结一下,当应用程序是BG时,您可以使用Toast通知,当应用程序位于FG时,您可以使用原始通知

我没有试过这个,但我想如果我没有错,它应该可行。此处How to detect if the main app is running from a background agent

也有类似的问题

如果线程选项有效,那么您也可以尝试使用http://www.windowsphonegeek.com/articles/WP7-Application-Lifecycle-and-Tombstoning中提到的应用程序状态属性来检查和跟踪应用程序的状态,即是否为BG或FG。