zoukankan      html  css  js  c++  java
  • Android之BroadcastReceiver的使用

    一、目标

      1、了解什么是BroadcastReceiver

      2、掌握BroadcastReceiver的使用

      3、了解BroadcastReceiver的生命周期

    二、什么是BroadcastReceiver

      1、Broadcast(广播)是一种广泛运用在应用程序之间传播消息的机制

        a、系统消息

          a):Android系统发出的,电池不足、来电信息等

        b、自定义消息

          a):第三方应用发出的广播消息

      2、什么是BroadcastReceiver

        a、广播消息本质上就是一个Intent对象

        b、Intent是一对一的通信,广播消息是一对多的通信

        c、BroadcastReceiver用于接受并处理广播消息

        d、BroadcastReceiver没有用户界面

          I、借助其他方式和用户交互,例如:启动Activity、使用Notification等

    三、广播消息的处理流程

      1、广播消息的处理分为三个环节

        a、消息发送

        b、BroadcastReceiver注册

        c、消息处理

    四、处理系统广播消息

      1、系统广播都被定义为android.content.Intent中的Action常量

      2、利用BroadcastReceiver捕获系统广播

        I、ACTION_BOOT_COMPLETED可以轻松实现开机后台程序自动运行

      3、系统广播 

          a、android.provider.Telephony.SMS_RECEIVED 短信息
          b、android.intent.action.NEW_OUTGOING_CALL 外拨电话
          c、android.intent.action.MEDIA_UNMOUNTED SD卡未挂载
          d、android.intent.action.MEDIA_UNMOUNTED SD卡未挂载
          e、android.intent.action.MEDIA_MOUNTED SD卡挂载
          f、android.intent.action.MEDIA_REMOVED SD卡拔出

      4、在AndroidManifest.xml文件中增加应用权限声明

    <uses-permission 
    android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

      5、继承BroadcastReceiver并实现onReceiver方法

    public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent){
        ...
      }
    }

    五、深入消息处理

        1、无序广播:sentBroadcast(),效率高,但是消息处理之间没有关联、

        2、有序广播sendOrderBroadcast(),可以传递处理数据

      3、持续广播:sendStickyBroadcast()发送的广播一直存在

    六、BroadcastReceiver的生命周期

      1、BroadcastReceiver的onReceiver()方法执行完后,其实例就会被销毁。

      2、如果onReceiver()方法在10秒内没有执行完,Android会认为程序无响应。

        a、–所以BroadcastReceiver不能做比较耗时的操作,否则会弹出“Application No Resource”的对话框

  • 相关阅读:
    飞跃平野(sdut1124)
    背包
    sdut2193救基友记3(三维)
    hdu1542 Atlantis(矩阵面积的并)
    hdu1505City Game(扫描线)
    poj3468A Simple Problem with Integers(线段树的区域更新)
    hdu1166敌兵布阵&&hdu1754I Hate It(线段树入门)
    Biorhythms(中国剩余定理)
    Sequence(priority_queue)
    Message Flood(map)
  • 原文地址:https://www.cnblogs.com/zhangmawang/p/8086852.html
Copyright © 2011-2022 走看看