广播

作者: 飞鱼和大海 | 来源:发表于2016-07-28 13:24 被阅读0次

BroadCastReceived

  • 普通广播
    同级别接收是无序的,设置级别priority,级别低的后收到
    同级别动态注册高于静态注册
    接收器不能截断和处理广播

1.动态注册:在主方法中进行注册

//BCOne为要发送的活动
IntentFilter intentFilter=new IntentFilter("BCOne");
//BC1为继承BroadcastReceiver类
BC1 bc1=new BC1();
registReceiver(bc1,intentFilter);

2.静态注册:在AndroidManifest的application中注册

<receiver android:name=".BC">
  <intent-filter android:priority="100">
      <action android:name="BCOne"></action>
  </intent-filter>
</receiver>

3.发送广播和接收广播:
①把信息装入Intent对象,调用相应的方法sendBroadcast()发送出去
②继承BroadcastReceive类,调用intent的getStringExtra()方法

①发送广播
Intent intent=new Intent();
intent.putExtra("msg","这是一条普通广播");
intent.setAction("BCOne");
sendBroadcast(intent);
②接收广播
新建类BC1继承自BroadcastReceiver,实现onReceive方法
String s=intent.getStringExtra("msg");
Log.d("广播","广播:"+s);
  • 有序广播
    同级别接收是无序的,
    能截断继续传播的广播,高级别的广播接收到该广播后,可以决定把该广播是否截断
    能处理广播
    同级别动态注册高于静态注册
    1.处理数据(用Bundle)
    eg:在两个继承自BroadcastReceived类BC1传递和BC接收数据
在BC1类中onReceived()方法中写入
Bundle bundle=new Bundle();
bundle.putString("test","BC1传递的数据");
setResultExtras(bundle);
在BC类onReceived()方法中写入
Bundle bundle=getResultExtras(true);
String s1=bundle.getString("test");
Log("广播","BC2接收的数据为:"+s1);

null标明其权限
发送有序广播为sendOrderBroadcast(intent2,null);

  • 异步广播
    特点:先发送后注册
    步骤:
    1.在主方法中写入Intent并发送,并注册
    2.新建一个继承自BroadcastReceived类BC3,接收其数据
    3.在AndroidManifest注上权限
Intent intent3=new Intent();
intent3.putExtra("msg","这是一条异步广播");
intent3.setAction("BCOne3");
sendStickyBroadcast(intent3);
IntentFilter intentFilter3=new IntentFilter("BCOne3");
BC3 bc3=new BC3();
registReceiver(bc3,intentFilter3);
新建一个类继承自BroadcastReceived,在其onReceived()
String s=getStringExtra("msg");
Log.i("广播","异步广播"+s);
在AndroidManifest注上权限
在manifest标签中标明权限:
<uses-permission android:name="android.permission.BROADCAST_STICKY"/>

相关文章

  • Android基础:BroadcastReceiver(应用场景

    广播的类型 广播的类型主要分为: 普通广播 系统广播 无序广播 有序广播 粘性广播 App应用内广播 普通广播(i...

  • 我要做 Android 之 广播

    广播的分类: 普通广播 有序广播 本地广播 粘性广播 一:普通广播 普通广播是一种完全异步执行的广播,在广播发出之...

  • 入门第五天

    广播接收器 分为动态广播器和静态广播器,静态广播器只能接受显式广播 广播 分为标准广播和有序广播,标准广播使得所有...

  • 第一行代码

    —— 广播机制 纲要 广播简介 广播接收动态注册静态注册 广播发送标准广播有序广播 本地广播 最佳实践 简介-全局...

  • 第五章 全局大喇叭,详解广播机制

    5.1广播机制简介 广播分为标准广播和有序广播 标准广播:异步执行广播,广播发出后,所有的广播接收器都会几乎在同时...

  • BroadcastReceiver详解

    1、广播的类型 广播分为标准广播和有序广播。 1.1、标准广播 标准广播是一种完全异步执行的广播,在广播发出之后,...

  • Android - base - Broadcast

    四大组件之广播 大纲 广播机制简介 广播接收器 广播发信器 接收系统广播 发送自定义广播 本地广播 #广播机制简介...

  • Android广播机制

    广播机制 发送广播 Android中的广播主要分为两种类型——标准广播和有序广播 发出标准广播 标准广播发出后,所...

  • Android广播机制

    广播分为标准广播 和 有序广播一、标准广播 三、系统广播Android内置很多系统级别广播,如手机开机后发一条广播...

  • Android广播

    参考:Android总结篇系列:Android广播机制Android广播机制 一. 广播 1. 广播是什么? 广播...

网友评论

      本文标题:广播

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