<receiver android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
. . .
</receiver>
application
intent-filter meta-data
这个元素用于声明一个广播接收器(一个 BroadcastReceiver 子类),作为应用程序的组件之一。广播接收器能够让应用程序接收那些由系统或其他应用程序发出的广播 Intent 对象,即使是在该应用程序的其他组件没有运行的时候,也能够接收来自系统或其他应用程序的广播消息。 有两种方式让系统知道本应用程序用户一个广播接收器:
android
这个属性用于定义系统是否能够实例化这个广播接收器,如果设置为 true,则能够实例化,如果设置为 false,则不能被实例化。默认值是 true。这个属性用于指示该广播接收器是否能够接收来自应用程序外部的消息,如果设置 true,则能够接收,如果设置为 false,则不能够接收。如果设置为 false,这该接收只能接收那些由相同应用程序组件或带有相同用户 ID 的应用程序所发出的消息。 它的默认值依赖它所包含的 Intent 过滤器。如果不包含过滤器,则接收器只能由指定了明确类名的 Intent 对象来调用,这就意味着该接收器只能在应用程序内部使用(因为通常在应用程序外部是不会知道这个类名的)。这种情况下默认值就是 false。另一方面,如果接受器至少包含了一个过滤器,那么就意味着这个接收器能够接收来自系统或其他应用程序的 Intent 对象,因此默认值是 true。 这个属性不是唯一的限制广播接收外部调用的方法,还能够通过全限来限制能够给它发送消息的外部实体。
这个属性定义了一个代表广播接收器的图标,这个属性必须用包含图片定义的可绘制资源来设定。如果没有设置这个属性,会是应用
这个属性给广播接收器设定一个用户可读的懂的文本标签。如果这个属性没有设置,那么就会使用
这个属性值要用广播接收器的实现类的类名来设置,它是 BroadcastReceiver 类的一个子类。通常要使用类的全名来设置(如:com.example.project.ReportReceiver)。但是,也可以使用简写(如:.ReportReceiver)。系统会自动的把android:exported=”false”
)。 这个属性没有默认值,这个名字必须被指定。
这个属性用于定义把消息发送给该广播接收器的广播器所必须要有的权限。如果没有设置这个属性,那么
这个属性用于设置该广播接收器应该运行在那个进程中的进程名。通常,应用程序的所有组件都在给应用程序创建的默认进程中运行,它有与应用程序包名相同的名称。
API Level 1