[英]Activities and services using handlers
您好我正在嘗試在一個應用程序中使用多個服務,我希望在從其中一個服務中獲取更改的值后一段時間后重新運行這些服務。 請指導我使用處理程序/計時器/廣播接收器來實現這一點。
謝謝
您應該使用發送掛起意圖的 AlarmManager。 您可以使用多個意圖和廣播接收器。 在廣播接收器中,您可以啟動服務。 這樣,您可以在不同時間啟動多個服務,也可以根據需要一起啟動。
您可以使用 Alarmmanager 發送重復的警報,或者您可以在其中一項服務中使用它並為待處理的意圖設置新時間。
不要使用計時器!
這樣做的好處是,當 Activity 不活動時,這一切都有效。
您可以如示例中所示綁定到服務,但如果您想將數據從服務傳遞到活動,您可以使用應用程序 object 或 singleton。 另外我會使用一個 IntentService,它會自動完成主線程的工作。 如果您想在應該與 Activity 更緊密交互的不同線程上做某事,我會使用 AsyncTask 或 Thread。
以下頁面詳細描述了 broadcastReceiver class 和啟動時的服務的工作。 http://www.androidenea.com/2009/09/starting-android-service-after-boot.html
它還實現了定時器功能......但請注意,該方法中的定時器非常快,並且會使您的模擬器無響應......或緩慢。
對於消息傳遞部分,請參考此線程.. 該線程中給出的程序非常酷.. 程序員的榮譽...
示例:使用消息傳遞在 Activity 和 Service 之間進行通信
問候,--拉傑什
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.