zoukankan      html  css  js  c++  java
  • ANDROID培训准备资料之BroadcastReceiver

    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()

  • 相关阅读:
    ssm框架中的struts我的配置问题
    ssm框架web.xml中filter配置问题
    partition-list
    entity.Student@150f3932, entity.Student@1a740c6b 没有实体中的数据
    UVA 11361 Investigating Div-Sum Property
    UVA 10883 Supermean
    Gym 101081K Pope's work
    UVA 1103 How Many O's?
    HOJ 1108
    HDU 5936 朋友
  • 原文地址:https://www.cnblogs.com/bdsdkrb/p/5973166.html
Copyright © 2011-2022 走看看