0

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

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

谢谢你。

4

1 回答 1

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 中时,您可以使用原始通知

我还没有尝试过,但我想如果我没有错的话它应该可以工作。在如何检测主应用程序是否从后台代理运行时也有一个类似的问题

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

于 2012-08-21T04:36:43.960 回答