2011-02-23 269 views
0

問題是:服務每1小時向我發送一個數據,我需要啓動Activity1。如果我什麼都不做,它的所有時間都會創建相同的Activity1,並且在5小時內我將有5個相同的活動...那麼,如何在新活動開始之前殺死活動? 謝謝!Android:服務啓動活動

  Intent dialogIntent = new Intent(getBaseContext(), someClass.class); 
      getApplication().startActivity(dialogIntent); 
+0

希望在那裏應該有粘性帖子許多doesn懶得檢查元BTW +1好評 – ingsaurabh 2011-02-23 11:09:50

回答

2

那麼,如何殺活動之前,新的開始?

你不知道。

首先,你的用戶會用狩獵刀攻擊你,在不知不覺中彈出一個活動。你不知道他們在做什麼(玩遊戲,輸入文字信息等)。除了基於直接用戶輸入之外,只有少數應用程序(如VOIP客戶端和鬧鐘)應顯示活動。

其次,您不會從服務中「殺死活動」。而是在您的Intent上放置適當的標誌,以將現有活動置於最前(如FLAG_REORDER_TO_FRONT),而不是創建新標誌。

+1

「你的用戶會用狩獵刀攻擊你彈出」我知道它的壞主意......但這就是他們想 – Jim 2011-02-23 14:20:55

0

當您只需更新舊的活動時,就沒有必要殺死一個活動。 殺死活動並重新實例化它只會導致不必要的開銷。

只需編寫代碼以在每次獲取新的Intent時重置現有活動的狀態。