您好我看到某些广播接收器在Android Manifest.xml中使用此标记android:exported="true"
进行注册。
<receiver android:exported="true" android:name="com.flyingsoftgames.googleplayquery.QueryReceiver">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
android:exported="true"
在Android中注册广播接收器的确切用途是什么?
提前致谢。
答案 0 :(得分:18)
<强>机器人:导出强> 广播接收器是否可以从其应用程序之外的源接收消息 - 如果可以,则为“true”,否则为“false”。如果为“假”,则广播接收器可以接收的唯一消息是由相同应用程序的组件或具有相同用户ID的应用程序发送的消息。 默认值取决于广播接收器是否包含意图过滤器。缺少任何过滤器意味着只能由指定其确切类名的Intent对象调用它。这意味着接收器仅供应用程序内部使用(因为其他人通常不知道类名)。所以在这种情况下,默认值为“false”。另一方面,至少一个过滤器的存在意味着广播接收器旨在接收由系统或其他应用程序广播的意图,因此默认值为“true”。
此属性不是限制广播接收器外部曝光的唯一方法。您还可以使用权限来限制可以向其发送消息的外部实体(请参阅权限属性)。
答案 1 :(得分:13)