接收服务中的广播

时间:2011-03-15 21:32:37

标签: android

有没有办法在服务上下文中获得广播接收? 我尝试在清单文件中添加receiver intent-filter,但当然Android每次都尝试实例化服务并抛出异常。

我该怎么做?

(我提到我在Android上是一个完整的菜鸟吗?)

2 个答案:

答案 0 :(得分:3)

  

有没有办法在服务上下文中获得广播接收?

不直接。 Service可以通过BroadcastReceiver动态注册registerReceiver(),或者您可以通过{{将清单注册BroadcastReceiver“转发”到Service startService() 1}}。

答案 1 :(得分:1)

Android将实例化一个服务来处理它已注册的任何特定Intent - 或者如果服务正在运行,它将在Intent当前操作完成后将Intent排入队列进行处理。要观看广播,请注册BroadcastReceiver并转发您的服务所见的内容。

如果您的服务正在抛出异常,那么它就有问题了。发布应用程序异常的完整堆栈跟踪,您可以使用adb和logcat作为here或Eclipse中的logcat视图查看。