zoukankan      html  css  js  c++  java
  • Android-Broadcast(广播)

     
    1、四大组件之BroadcastReceiver
    (1)Broadcast(广播)--一种广泛运用在应用程序之间传输信息的机制
    (2)BroadcastReceiver(广播接受者)--是对发送过来的广播进行过滤接收并响应的一类组件,它就是用来接收来自系统和应用中的广播
    (3)用途:开机(或网络状态改变、或电池电量改变)时产生一条广播
    (4)大大的减少开发的工作量和开发周期
    (5)发送:把信息装入一个Intent对象(如Action、Category)
                      通过调用相应的方法将Intent对象以广播的形式发送出去【sendBroadcast( ),sendOrderBroadcast ( ).sendStickyBroadcast ( )】
    (6)接收:当intent发送以后,所有已经注册的BroadcastReceiver会检查注册时的intentFilter(注册器)是否与发送的intent相匹配,若匹配则就会调用BroadcastReceiver的onReceiver()方法。所以当我们定义一个BroadcastReceiver的时候,都需要实现onReceiver()方法。
    注意:BroadcastReceiver需要注册(静态注册、代码注册)
    (7)注意!
    ①BroadcastReceiver生命周期只有十秒左右
    ②在BroadcastReceiver里不能做一些比较耗时的操作
    ③应该通过发送intent给Service,由Service来完成
    ④不能使用子线程
    (8)广播的种类:普通广播(normal broadcast)、有序广播(优先级)、异步广播(粘滞性滞留广播)
    (9)添加优先级代码:<intent-filter     android:priority="100"> ..............</intent-filter >
    (10)截断广播方法:abortBroadcast( );
    (11)静态注册:在配置文件中注册
    (12)代码注册:IntentFilter intentFilter=new IntentFilter("BC_One"); 
                               BC2 bc2=new BC2( );
                               registerReceiver(bc2,intentFilter);
    (13)普通广播
    1、同级别的 动态加载优先级大于静态加载 (只在代码正常运行过程中,死掉了就不行)
    2、同级别的接收顺序随机(无序)
    3、接收器不能截断广播的连续性传播也不能处理广播
    4、优先级高的先于优先级低的
    (14)有序广播
    1、同级别的 动态加载优先级大于静态加载
    2、同级别的接收顺序随机(无序)
    3、接收器能截断广播的连续性传播,高级别的广播接收器收到广播之后,可以决定把该广播是否截断
    4、接收器能截断广播的连续性传播也能处理广播
  • 相关阅读:
    python初学第一节课
    关于float类型和u32类型问题
    今天的工作状态,规划未来一段时间内必须完成的事情(Record the working status of today,planning for the next period of time must be completed)
    STM32 硬件I2C初始化 I2C1_GPIO_AF_Config
    C语言编程规范--------12 宏
    C语言编程规范--------11 代码测试、维护
    C语言编程规范--------10 代码编辑、编译、审查
    C语言编程规范--------9 质量保证
    C语言编程规范--------8 效率
    C语言编程规范--------7 可测性
  • 原文地址:https://www.cnblogs.com/dendai-05/p/6945232.html
Copyright © 2011-2022 走看看