BroacastReceiver的启动方式?
(1) 创建需要启动的BroadcastReceiver的Intent。
(2) 调用context的sendBroadcast()或者sendOrderBroadcast()方法来启动制定的BroadcastReceiver。
BroadcastReceiver的生命周期?
(1) BroadcastReceiver本质上只是一个系统级别的监听器,它专门负责监听各程序所发出的Broadcast
(2) 每次系统Boradcast的事件发生后,系统就会创建对应的BroadcastReceiver的实例,并且触发它的onReceive()方法,onReceive()方法执行完毕之后,BroadcastReceiver的实例就会销毁
(3) 如果BroadcastReceiver的onReceiver()方法不能再10秒之内执行完成,Android会认为该程序无响应。
怎样指定broadcastReceiver能匹配的Intent
(1) 使用代码进行指定,调用BroadcastReceiver的context的registerReceiver(BroadcastReceiver receiver,InterFilter filter)方法指定。例如
IntenFilter filter=new IntentFilter(“”keranbin);
KeranbinReceiver receiver=new KeranbinReceiver();
registerReceiver(receiver,filter);
(2)在AndroidManifest.xml文件中配置。例如
<receiver android:name=.KeranbinReceiver>
<intent-filter>
<action android:name=”keranbin”/>
</intent-filter>
</receiver>
广播的种类?
(1) Normal Broadcast(普通广播),异步的广播,可以在同一时刻被所有的接收者接收到,消息传递效率比较高,但是接收者无法将结果传递给下一个接收者,而且无法终止广播,启动方式为sendBroadcast();
(2) Ordered Broadcast(有序广播),接收者会按优先级别依次接收广播,优先级别声明在<intent-filter……./>中或者IntentFilter.setPriority(),取值范围为-1000~1000,数字越大,级别越高,虽然有序广播的接收效率相对来说不如普通广播,但是有序广播可以在结果对象中存入数据(setResultExtras(Bundle))并将结果传递给下一个接收者,而且还可以通过abortBroadcast()终止广播。
BroacastReceiver的启动方式?
(1) 创建需要启动的BroadcastReceiver的Intent。
(2) 调用context的sendBroadcast()或者sendOrderBroadcast()方法来启动制定的BroadcastReceiver。
BroadcastReceiver的生命周期?
(1) BroadcastReceiver本质上只是一个系统级别的监听器,它专门负责监听各程序所发出的Broadcast
(2) 每次系统Boradcast的事件发生后,系统就会创建对应的BroadcastReceiver的实例,并且触发它的onReceive()方法,onReceive()方法执行完毕之后,BroadcastReceiver的实例就会销毁
(3) 如果BroadcastReceiver的onReceiver()方法不能再10秒之内执行完成,Android会认为该程序无响应。
怎样指定broadcastReceiver能匹配的Intent
(1) 使用代码进行指定,调用BroadcastReceiver的context的registerReceiver(BroadcastReceiver receiver,InterFilter filter)方法指定。例如
IntenFilter filter=new IntentFilter(“”keranbin);
KeranbinReceiver receiver=new KeranbinReceiver();
registerReceiver(receiver,filter);
(2)在AndroidManifest.xml文件中配置。例如
<receiver android:name=.KeranbinReceiver>
<intent-filter>
<action android:name=”keranbin”/>
</intent-filter>
</receiver>
广播的种类?
(1) Normal Broadcast(普通广播),异步的广播,可以在同一时刻被所有的接收者接收到,消息传递效率比较高,但是接收者无法将结果传递给下一个接收者,而且无法终止广播,启动方式为sendBroadcast();
(2) Ordered Broadcast(有序广播),接收者会按优先级别依次接收广播,优先级别声明在<intent-filter……./>中或者IntentFilter.setPriority(),取值范围为-1000~1000,数字越大,级别越高,虽然有序广播的接收效率相对来说不如普通广播,但是有序广播可以在结果对象中存入数据(setResultExtras(Bundle))并将结果传递给下一个接收者,而且还可以通过abortBroadcast()终止广播,启动方式为sendOrderedBroadcast()