zoukankan      html  css  js  c++  java
  • Android--静态广播和动态广播的区别

    一、标准广播and有序广播

    标准广播发出后所有广播接受器几乎同一时刻收到广播,并且没有顺序,所以广播不可被截断。

    有序广播发出后同一时刻只能有有一个广播接收器收到广播消息,因此优先级高的广播的先收到消息,并且前面的接受器还可以截断消息。

    二、动态注册广播接收器

    注册广播的方式有两种:静态注册和动态注册

    静态注册是在AndroidManifest.xml注册文件里注册,动态注册时在代码中注册

    (1)创建广播接收器

    创建一个类继承BroadcastReceiver 并重写onReceive()方法

    (2)在onCreat()方法中创建IntentFilter实例

    实现Intent过滤器类,并且添加调用.addAction()方法,添加想要监听的action。

    (3)在oncreat()方法中实现刚才写的广播接听器

    (4)调用registerReceiver()方法注册

    registerReceiver(BroadcastReceiver,IntentFilter)将要注册的广播接收器和intent过滤器传给函数,这样就注册了专门用于接收某种action的广播接收器。

    (5)动态注册需要在onDestroy()方法中取消注册

    unregisterRecevier(BroadcastReceiver)

    二、静态注册广播接收器

    (1)与动态一样创建继承BroadcastRecevier的类并重写onReceiver()方法

    (2)在注册表AndroidManifast.xml里添加注册代码

    <receiver
    android:name=“.xxx继承自BroadcaseRecevier类”
    android:enable="true"
    android:exported="true"
    >
    <intent-filter>
    <action android:name="android.intent.action.XXX想要监听的action"></action>
    </intent-filter>
    </receiver>

      (3)其中enable是指是否启动这个广播接收器;exported:是否允许接收本程序以外的广播

    二、静态注册与动态注册

    动态注册可以自由控制注册与注销,但是必须要在程序将启动后才可以接收。而静态则可以监听。

    在广播接收器中不要写太多操作,并且不能使用进程。

  • 相关阅读:
    Spring Boot
    Linux入门
    synchronized(一)
    避免XSS攻击
    MySql概述及入门(五)
    MySQL概述及入门(四)
    上传漏洞总结-upload-labs
    文件类型解析漏洞防御与攻击(PHP)
    Dvna for Owasp top 10 2017
    XSS 漏洞介绍
  • 原文地址:https://www.cnblogs.com/ttnrt/p/11697806.html
Copyright © 2011-2022 走看看