我很難找到真正的解決方案。我查了很多,但找不到任何好的解決方案問題。如何查找App是否在運行,如果App正在運行,那麼如何找到前面的活動
我想在用戶點擊通知時執行一些操作。所以我必須檢查應用程序是在後臺還是在前臺。如果它在前臺,那麼哪個活動正在運行?必須有簡單的方法來找到它。
請指導我this.Any幫助將不勝感激。
我很難找到真正的解決方案。我查了很多,但找不到任何好的解決方案問題。如何查找App是否在運行,如果App正在運行,那麼如何找到前面的活動
我想在用戶點擊通知時執行一些操作。所以我必須檢查應用程序是在後臺還是在前臺。如果它在前臺,那麼哪個活動正在運行?必須有簡單的方法來找到它。
請指導我this.Any幫助將不勝感激。
你應該在你的應用程序的兩個地方聽:
你有severals答案有總結的解決方案:
Android: how do I check if activity is running?
Checking if an Android application is running in the background
因爲如果應用程序在後臺則顯示通知,否則顯示警告。
然後你不在乎「無論是在背景或前景的應用程序」或「如果是在前臺然後活動運行」。
您只需在意事件發生時,前臺UI處理它(如果有前景UI),或者您顯示Notification
。
一種方法是在幾年前使用有序廣播,如I blogged about。這是一個示例應用程序,演示了這一點。基本上,服務(?)發送一個有序的廣播。當用戶界面處於前臺時,UI具有高優先級的接收器,並中止廣播並消費該事件。您還有一個低優先級的接收器,只有在用戶界面沒有使用該事件時纔會得到控制權,該接收器將顯示Notification
。
好的解決方案,我保留下次。 –
「所以我必須檢查應用程序是否在後臺或前臺」 - 爲什麼? – CommonsWare
@CommonsWare:因爲如果應用程序在後臺,然後顯示通知,否則顯示alert.So .. – Ponting