2011-04-26 71 views
1

如何在不實際啓動屏幕的情況下啓動一項活動?Android - 無需啓動即可開始活動

+1

如果您不給出額外解釋,我們如何理解您的意思? – 2011-04-26 12:51:06

+0

例如:我有2項活動。活動A和B.活動B儘快啓動服務。但我想通過活動A開始服務,所以我需要以某種方式從A開始活動B,而不在屏幕上顯示它 – Carnal 2011-04-26 12:54:11

+0

我也在想如何做到這一點。我發現最好的解決方案是在活動B中激活我的服務後調用finish()。我真的希望你能在這裏得到更好的答案。 – 2011-04-26 12:58:51

回答

1

例如:我有2項活動。活動A和B.活動B儘快啓動服務。但我想開始通過酶活性的服務,所以我需要以某種方式開始從A活動B,而不在屏幕上顯示它

第1步:在活動A.呼叫startService()

第2步:沒有第二步。

如果您想要有一些通用代碼,其中活動A或活動B可以啓動該服務,請創建一個靜態方法或創建A和B都從中繼承的基類。

+0

是的,但問題在於服務使用Activity B中的方法。如果我從Activity A使用startService(),則會得到nullpointerexception,因爲Activity B中的值尚未啓動。 – Carnal 2011-04-26 13:05:51

+1

@Carnal:「是的,但問題是服務使用Activity B中的方法」 - 擺脫這一點。你應該永遠不會那麼做。澄清一下,一個'Service'不應該試圖在'Activity'上調用方法。 Android的任何時候都可以銷燬「Activity」。如果一個'Service'可以到達'Activity',你就有內存泄漏。我向你保證,無論你想以這種方式解決什麼問題,都有更好的解決方案。 – CommonsWare 2011-04-26 13:18:08

+0

你好,我接近第一個的問題是啓動我的應用程序,一個用戶選擇的活動。因此,通常,我默認啓動ActivityA,而不是ActivityA檢查首選項,並啓動ActivityB,C,D ...比ActivityA關閉。我怎樣才能做到這一點? – 2011-04-26 13:46:01