2010-09-15 30 views
1

我的應用程序包括以下組件:
2活動
一個Service
BroadcastReceiver結合本地服務從一個BroadcastReceiver

每當用戶更新系統的時候,我的廣播接收器接收Intent.ACTION_TIME_CHANGED。現在,當發生這種情況時,我想在我的Service中重新安排Handler。如何在我的BroadcastReceiver中綁定到服務?

回答

3

您的服務可以在沒有任何BroadcastReceiver幫助的情況下直接捕獲意圖。

可以通過向您的服務添加意圖過濾器來完成。有兩種方法可以做到這一點:

  1. 通過靜態清晰度在AndroidManifest.xml文件(link text))
  2. 你可以在代碼context.registerReceiver註冊接收器(your_receiver,新的IntentFilter(Intent.ACTION_TIME_CHANGED)) ;
+0

好吧,在向Manifest中添加靜態定義之後,如何處理服務中的意圖(我的服務已經運行)?有什麼方法可以重寫嗎? – 2010-09-15 09:04:28

+0

可能是:onCreate(){Intent intent = getIntent(); } – 2010-09-15 09:11:23

+0

「確定我的服務已經在運行」 - 好的,您可以回到代理服務器的BroadcastReceiver並調用startService(),然後在您的服務中調用「onStartCommand」。 – 2010-09-15 09:18:41