2012-08-17 55 views
0

我有一個BG代理實施的應用程序。如果BG代理識別出任何升級可用性,則它將通過吐司通知向用戶通知該升級可用性。對此我有一個疑問。情景是這樣的,如果應用退出並且在BG中運行,則顯示Toast通知(TN),一切都很順利。但是,如果應用程序在FG中運行,並且在BG和BG中有通知給用戶的內容,則不會顯示TN,儘管所有內容都記錄在日誌文件中,但設備的UI上沒有任何內容顯示。這是正常的嗎?或者應該做些什麼?另外,有沒有辦法檢測我的應用程序是否在FG中運行?如果是這樣,我不想開始BG任務,這可以執行嗎?應用程序在FG上的敬酒通知

所有的答案和建議表示讚賞。

謝謝。

回答

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

所以總結它,你可以使用Toast通知時,應用程序是BG和原材料通知時應用程序是在FG

我沒有試過,但我如果我沒有錯,猜測它應該工作。也有是在How to detect if the main app is running from a background agent

在此位置類似的問題如果線程選項的作用那麼大,否則你也可以嘗試使用上http://www.windowsphonegeek.com/articles/WP7-Application-Lifecycle-and-Tombstoning提到的應用程序狀態屬性來檢查和跟蹤您的應用程序,IE的狀態,如果其BG或FG。