WEB开发网
开发学院手机开发Android 开发 Android:BroadcastReceiver 阅读

Android:BroadcastReceiver

 2010-10-19 20:16:47 来源:WEB开发网   
核心提示:completely replaces the current map (if any).~~~深入理解一下:(转载,,Android:BroadcastReceiver(6),,,同样若在注册BroadcastReceiver时指定了可接收的Broadcast的权限,则只有在包内的AndroidManifest.xm
completely replaces the current map (if any).

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

深入理解一下:(转载。。。。)

Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来

的Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过

滤接收的过程:

首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,

然后通过调用Context.sendBroadcast(),sendOrderBroadcast()或sendStickyBroadcast()方法,把Intent对象以广

播方式发送出去。当Intent发送以后,所有已经注册的BroadcastReceiver会检查注册时的IntentFilter是否与发

送的Intent相匹配,若匹配则就会调用BroadcastReceiver的onReceive()方法。所以当我们定义一个

BroadcastReceiver的时候,都需要实现onReceive()方法。

注册BroadcastReceiver有两种方式。一种方式是,静态的在AndroidManifest.xml中用标签生命注

册,并在标签内用标签设置过滤器。另一种方式是,动态的在代码中先定义并设置好一个

IntentFilter对象,然后在需要注册的地方调用Context.registerReceiver()方法,如果取消时就调用

Context.unregisterReceiver()方法。如果用动态方式注册的BroadcastReceiver的Context对象被销毁

时,BroadcastReceiver也就自动取消注册了。

另外,若在使用sendBroadcast()的方法是指定了接收权限,则只有在AndroidManifest.xml中用< p>

permission>标签声明了拥有此权限的BroascastReceiver才会有可能接收到发送来的Broadcast。同样若在注册

BroadcastReceiver时指定了可接收的Broadcast的权限,则只有在包内的AndroidManifest.xml中用< p>

permission>标签声明了,拥有此权限的Context对象所发送的Broadcast才能被这个BroadcastReceiver所接

收。

上一页  1 2 3 4 5 6 

Tags:Android BroadcastReceiver

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接