我究竟想要什麼?Android活動生命週期問題
在我的應用程序中,我有4/5活動和一個後臺線程與服務器交談。我想有一些方法來獲得我應用程序的最頂級活動。但令人驚訝的是,他們是我無法得到的?
我做了什麼?
搜索一段時間後,我實現了Activity
類型的變量mCurrentOnTopActivity
和onResume()
和我設置變量中的每個活動的onPause()
。 (這實際上是一個不好的方法)。
我到達了哪裏?
現在,他們都在從服務器接收的一些消息後,我想要做的UI線程一些東西,即表現出一定的對話框或刷新ListView
案件,現在他們是沒有辦法檢查是否mCurrentOnTopActivity
指的activiy這是實際運行或不運行(無論出於何種原因完成或失去焦點)。
我現在想要什麼? 現在我基本上要幫助以下兩個問題: -
- 我怎麼知道這是我的應用程序的當前運行的最上面的活動?
- 我怎麼知道活動是否仍在運行與否(即我想要一些東西一樣
isActicitAlive() (imaginary function)
其中onResume()
電話和onPause()
?
我使用活動的變量,並設置它實現2點之間返回true在onResume()
和onPause()
,但是,這是做到這一點的唯一途徑?
我目前正在使用你的答案的第二種方法。讓我檢查你的第一種方法的效率觀點。現在查詢ActivityManager並不會聽起來很有效率,至少對我來說......任何方式都要感謝您的答案。 – aProgrammer
我結束了一些修改後實現了你的建議。謝謝! – aProgrammer
@Amit: - :)哪一個。?第一或第二種方法。 –