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

  • 相关阅读:
    老罗Android开发视频教程录制计划
    经典游戏源码汇总
    横向TimePicker带三角指示器
    可延长、缩短、拖动图形的画图软件
    手把手教你写android项目@第一期项目——身份证查询创新
    android图表引擎AchartEngine制作柱图
    SharePoint2010如何配置唯一文档ID服务快速生效
    SharePoint客户端对象模型 - .NET托管
    JQuery里如何选择超链接
    如何在SharePointDesigner订制页面里判断用户权限
  • 原文地址:https://www.cnblogs.com/bdsdkrb/p/5973166.html
Copyright © 2011-2022 走看看