在清单上声明接收器和服务

时间:2016-07-09 23:19:02

标签: android service android-manifest intentfilter android-broadcastreceiver

我的接收器以这种方式声明:

<receiver android:name=".receiverName"
android:enabled="true"/>

这是我的服务:

<service android:name=".serviceName"
android:enabled="true"/>

但我想知道:要让它们工作,我必须在每个中添加<intent-filter>吗?

1 个答案:

答案 0 :(得分:1)

  

要使它们工作,我必须在每个中添加<intent-filter>吗?

这取决于你使用它们的目的。

<intent-filter>允许其他应用程序(有时是操作系统)与您的组件进行通信。这就是为什么<activity> <intent-filter>行动MAIN以及LAUNCHER类别的<intent-filter> - 主屏幕启动器知道寻找这些并让用户有能力展示那些活动。

因此,如果您的计划是纯粹在您自己的应用中使用该服务,则不需要<intent-filter>。对于您的接收器也是如此。另一方面,如果您希望其他应用启动该服务,绑定到该服务或向您发送广播,那么您将需要resize