zoukankan      html  css  js  c++  java
  • 广播机制(二)笔记

    一 .  注册BroadcastReceiver的方法

    BroadcastReceiver用于监听被广播的事件(intent)为了达到这个目的,BroadcastReceiver必须进行注册,注册的方法有以下俩种。

    1 . 在应用程序代码中进行注册

    registerReceiver(receiver,filter)

    unregisterReceiver(receiver)//解除broadcastReceiver对象的注册

    启动Activity时注册,在Activity不可见以后取消注册。

    //生成一个IntentFilter对象

    Intentfilter filter = new IntentFilter();

    //为IntentFilter添加一个Action

    filter.addAction("android.provider.Telephony.SMS_RECEIVED");

    //注册broadcastReceiver对象

    this.registerReceiver(smsReceiver,filter);

    smsReceiver为接收广播的BroadcastReceiver对象

    如果一个BroadcastReceive用于更新UI,那么通信会使用这种方法进行注册BroadcastReceive;在Activity启动的时候注册BroadcastReceive,而Activity不可见以后就取消注册。

    2 . 在AndroidManifest.xml中进行注册

    <receiver android:name=".接收器类名">

    <intent-filter>

    <action android:name="android.intent.action.EDIT">

    </intent-filter>

    </receiver>

    intent-filter过滤器挑选广播中的Action是否匹配,若匹配则生成该Receiver对象

    上述注册特点是:应用程序结束了之后,该BroadcastReceiver同样会接受到广播,一直处于活动状态,有的应用程序需要这一点,有的则不需要,不需要时应该使用另一种注册方法。

    二 . Android内置的Broadcast Actions

    action中可以有很多类型如ACTION_VIEW\ACTIONO_EDIT\ACTION_MAIN\ACTION_DIAL\ACTION_CAMERA_BUTTON\ACTION_BATTERY_LOW\等等 在帮助文档android:content备注中有broadcastaction表示的常量。

  • 相关阅读:
    shell脚本
    正则表达式和文本处理工具二
    正则表达式和文本处理工具
    Linux基础实操六
    Linux基础实操五
    caffe 试运行MNIST
    转 Windows+VS2013爆详细Caffe编译安装教程
    python一
    VS2008 C++ 调用MATLAB 2009b 生成的DLL .
    MFC抓网页
  • 原文地址:https://www.cnblogs.com/Gaojiecai/p/2135621.html
Copyright © 2011-2022 走看看