之前 的用Intent 在不同的Activity之间跳转,可以说是直接 Intent,因为指定 了明确 的目标。

广播则是相当于间接Intent.

间接intent就是没有指定具体目标的Intent,只是在创建 是指定 了一些 信息。然后再广播出去,

所有 关心这种Intent的广播接收器都会接收并处理。

一.间接 Intent的说明信息

Action

data:要操作的数据 ,以uri的形式表示,

category:动作的附加 信息。

type :数据 的类型,一般由intent相关信息推导。

component:目标组件 ,一般由intent相关信息推导。

Extras :用来 传递参数 ,如发送邮件时,将邮件名,正文都加入到Extras中,再通过intent 发送给相关的activity。

发送广播 :

ContextWrapper.sendBroadcast( Intent intent )

二 .接收广播

使用广播接收器---BroadcastReceiver。每一个广播接收器都 要有一个Intent 过虑 器。

steps;

1. 新建 一个 Intent过虑 器IntentFilter。用

IntentFilter.IntentFilter (String action)

接下来再设定一些 属性,如

IntentFilter.addcategory(String category)。

2. 新建 一个广播接收器BroadcastReceiver ,并重写 onReceiver()方法。

BroadcastReceiver receiver = new BroadcastReceiver(){

public void onReceiver(Context ctx, Intent intent ){

//接收到广播 后执行的

}}

note: onReceiver()里面只能执行一些段时间的代码 ,超过5秒就会出去超时的对话框,用时多的可以放在一个线程里面,or Activity or Service里,再用Intent去启动它们。

3. 注册一个接收器

新建广播 接收器后并不能马上就工作,因为android系统 并不知道你已经 拥有了一个接收器,所以要注册。

ContextWrapper.registerReceiver (BroadcastReceiver receiver, IntentFilter filter )

4.当我们不再关注 广播 时,就要将接收器注销了

ContextWrapper.unregister (BroadcastReceiver receiver )

追加:

如果用动态注册方法,也就是registerReceiver(),只有程序执行时才能接受广播,如果在 manifest文件中注册,则无论 程序 是运行还是关闭,广播都是活动状态 。

final Intent intent= new Intent ("z");

sendButton.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

sendBroadcast(intent);

}

});

z是action 。注册在manifest 中时如下

android:name=".MyReceiver">

广播会自动 接收。

android注销广播接收器,使用广播接收器 - chuiyuan的个人页面 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. android 开源闹钟,Android闹钟 - huiyun-yoyo的个人页面 - OSCHINA - 中文开源技术交流社区...

    设置闹钟 new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onT ...

  2. android 8.0 ps 命令,全网最全adb命令 - osc_8exjk9uk的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.查看adb版本 adb version C:\Users\Administrator>adb version Android Debug Bridge version 1.0.41 Vers ...

  3. android加入聊天功能,app实现聊天功能 - houwanmin的个人空间 - OSCHINA - 中文开源技术交流社区...

    .  OpenIM(Android)主体功能集成 1.1  前置准备 如果您单纯是想体验OpenIM的功能,建议直接跳过这一步.直接查看快速集成. 在这个集成教程中,我们使用已创建的Demo应用,向您 ...

  4. android widget动画,widget 动画 - androidCode的个人空间 - OSCHINA - 中文开源技术交流社区...

    摆在眼前的困难(如果你不能认识到,请再去研究一下): 1.widget能支持的控件及函数屈指可数 2.widget不支持快速刷新 3.widget设置的时候对内存大小有要求 一线曙光: 搜遍了国内外的 ...

  5. ireader android 源码,仿ireader书架 - androidCode的个人空间 - OSCHINA - 中文开源技术交流社区...

    public class ReaderActivity extends Activity { private ShelfAdapter mAdapter; // 书架列表 private ListVi ...

  6. android 极光推送开源,极光推送 - Android攻城狮的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.设置 AndroidManifest.xml libs/jpush-sdk-release 1.x.y.jar libs/armeabi/libsys 1.x.y.so 2.基础API init ...

  7. android 数组排重方法,js数组去重方法集合 - osc_779ncf3o的个人空间 - OSCHINA - 中文开源技术交流社区...

    //第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就push进来 var arr = ['a', 1, 1, 1, 2, 4, 4, 'b', 'c', ' ...

  8. android新浪微博授权,新浪微博授权认证过程 - Android、iOS开发 - OSCHINA - 中文开源技术交流社区...

    一.授权认证 1.请求用户授权Token URL: https://api.weibo.com/oauth2/authorize HTTP请求方式:GET/POST 请求参数 必选 类型及范围 说明 ...

  9. android 编程klinon,一些常见的知识(四) - 393858338的个人空间 - OSCHINA - 中文开源技术交流社区...

    24.CoreText基础-字体必修课 转自:http://www.dreamingwish.com/dream-2011/coretext-ji-chu-font-basis.html 介绍一些字体 ...

最新文章

  1. Gym导入Atari游戏环境报错
  2. JavaWeb第一讲 Servlet的工作原理及生命周期
  3. from PyQt4 import QtGui,QtCore出错-解
  4. android module 加载.so,关于Android Studio主Module与依赖Module同时引入so库的问题
  5. 七夕单日票房破5亿!创复工后单日票房新高
  6. 分布式文件系统FastDFS安装教程
  7. python统计分析pdf托马斯_Python统计分析
  8. WEB前端学习day-6-盒子,浮动,学成在线案例
  9. 云计算基础与应用 第五章 云存储
  10. 编程语言学习概要与学习方法
  11. office2007 ppt制作与应用母板
  12. python结合mitmproxy抓包实践
  13. 功放限幅保护_限幅器在音响系统中限幅阈值的计算方法
  14. PXI-10024100KSps、24Bit数据采集模块
  15. PaddleOCR学习(一)PaddleOCR安装与测试
  16. Java base64加密解密 两种实现方式
  17. 2022/12/4 胡言乱语
  18. 红旗linux9支持软件,红旗linux系统下载|红旗Linux操作系统9.0正式版下载(c语言编写) 最新版_数码资源网...
  19. 安装redhat linux 7 64位
  20. Maven - Plugins

热门文章

  1. printFinal用法示例
  2. 使用数据库镜像保障高可用的数据库应用(下)
  3. 1206. 设计跳表
  4. 10深入Redis Cluster2
  5. 9-5 一致性哈希分区
  6. pb 如何判断数据窗口中是否有某个字段_怎么判断数据窗口中某个字段存在重复的数据...
  7. d06调试详细说明_PIC系列单片机配置字详细介绍(长期实践总结的压箱底资料)
  8. mysql使用中文报错,hibernate mysql 插入中文错误
  9. kindeditor java上传_富文本编辑器kindeditor上传图片的配置方法
  10. 2018年计算机职称考试冲刺,2018年中级会计职称考试冲刺阶段学习计划