美文网首页
认识安卓组件之广播

认识安卓组件之广播

作者: _好好学习 | 来源:发表于2019-08-06 10:55 被阅读0次

Android Broadcast

广播的类型:
  • 标准广播:是一种异步执行的广播,广播接收器同时接受,无法截断sendBroadcast( intent);
  • 有序广播;是一种同步执行的广播,广播接收器有先后顺序(看优先级),可以截断sendOrderedBroadcast( intent, null);
注册广播的方式:
  • 动态注册:
 intentFilter.addAction("");
 registerReceiver( 广播接收器实例 , intentFilter);

动态注册的广播接收器一定都要取消注册unregisterReceiver( 广播接收器实例, intentFilter);

  • 静态注册
    可以让程序在未启动的情况下就能接收到广播
    静态的广播接收器一定要在AndroidManifest.xml方法中注册才可以使用,使用AS快捷方式创建的广播接收器会自动进行注册。
创建广播接收器

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

使用本地广播

前面介绍的广播都属于系统全局广播,即发出的广播可以被其他任何应用程序接收到,并且也可以接受来自其它应用程序的广播,这样就很容易引起安全性问题。
为了能够简单地解决广播安全性问题,Android引入了一套本地广播机制,使用这个机制发出的广播只能够在应用程序内部进行传递,并且广播接收器也只能接受来自本应用程序发出的广播,这样就可以解决安全性的问题。
本地广播主要就是使用了一个LocalBroadcastManager来对广播就行管理,并提供了发送广播和注册广播接收器的方法。

LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);
localBroadcastManager.sendBroadcast(intent);
localBroadcastManager.registerReceiver(接收器实例, intentFilter);
localBroadcastManager.unregisterReceiver(接收器实例);

注:本地广播是无法通过静态注册的方式来接收的

相关文章

  • 认识安卓组件之广播

    Android Broadcast 广播的类型: 标准广播:是一种异步执行的广播,广播接收器同时接受,无法截断se...

  • 认识安卓组件之服务

    @(Android) 创建服务 使用AS new Service时Exported表示是否允许除了当前程序以外的其...

  • 认识安卓组件之活动

    @(Android) 需写实例进入深入理解 返回栈     Android中的活动是可以层叠的,我们每启动一个新的...

  • activity 生命周期分享

    安卓四大组件:activity活动,服务Service,广播接收器(BroadcastReceiver),内容提供...

  • 安卓框架(一) EventBus

    前言 安卓开发过程中各个组件以及线程之间通信频繁。安卓组件通信采用广播方式时效率较低,而采用回调方式则使代码耦合严...

  • 安卓开发入门教程-广播

    什么是广播 广播是安卓系统内应用内各组件、应用间进行轻量化通信的一种机制.发出者发出广播,接收者接收广播. 广播类...

  • 广播接收者2

    1. 什么是广播?广播分为几部分? 广播电台:发送信号 收音机:接收信号 2. 广播接收者:安卓四大组件之一.用于...

  • 【9】BroadcastReceiver

    一、什么是BroadcastReceiver 广播接收器,顾名思义,是用来接收广播的一个安卓组件,可用来在不同应用...

  • 安卓四大组件之广播机制

    Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播...

  • 深入学习Activity

    前言 Activty是安卓四大组件中最为常用的组件,通常也是安卓开发者最先接触的安卓组件。安卓开发的工作也主要是围...

网友评论

      本文标题:认识安卓组件之广播

      本文链接:https://www.haomeiwen.com/subject/dyhidctx.html