2011-04-28 37 views
0

嗨 我想在應用程序中使用多個服務,我希望在從某個服務中獲取更改的值之後的一段時間後重新運行服務。 請指導我使用處理程序/定時器/廣播接收器來實現這一點。使用處理程序的活動和服務

感謝

回答

0

以下頁面介紹給你詳細的一個BroadcastReceiver類的工作,並在啓動時服務。 http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

它也實現了定時器的功能...但請注意,該方法中的定時器非常快,並使您的模擬器無響應...或緩慢。

和消息傳遞部分請參考此線程..在這個線程給出的方案是超酷..工藤給程序員...

Example: Communication between Activity and Service using Messaging

問候, --Rajesh

1

您應該使用發送待處理意圖的AlarmManager。您可以使用多個意圖和廣播接收者。在廣播接收者中,您可以開始一項服務。這樣,您可以在不同的時間啓動多個服務,或者在需要時一起啓動。

您可以使用Alarmmanager發送重複警報,或者您可以在其中一項服務中使用它,併爲您的待定意圖設置新的時間。

不要使用計時器!

這樣做的好處是,這一切都適用於活動不活躍時。

您可以如示例中所示綁定到服務,但是如果要將數據從服務傳遞到活動,則只需使用應用程序對象或單例。另外我會使用一個IntentService,它自動完成主線程的工作。如果你想在一個不同的線程上做些什麼,這個線程應該和Activity更緊密地交互,那麼我會使用AsyncTask或Thread。

相關問題