2010-09-15 34 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