码迷,mamicode.com
首页 > 其他好文 > 详细

《第一行代码》读书笔记二

时间:2017-10-08 15:35:48      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:case   实例   开关   文件   读书笔记   rtb   提示   微信   步骤   

一:广播

1:广播接收器的使用步骤

继承BroadcaseReceiver定义一个类,重写onReceive()方法——注册广播接收器——接受系统广播或其他地方发出的自定义广播并响应

2:动态注册和静态注册

广播接收器要注册后才能接受广播并响应,注册的方式有两种:

动态注册:在activity的onCreate()方法中创建intentfilter,添加action、catagory等过滤条件后,调用registerReceiver(receiver,intentfilter)注册广播接收器;在activity的onDestroy()方法中unregisterReceiver(receiver)注销广播接收器。【动态注册的广播接收器只有在程序activity启动后才被启用,也随着程序的退出而停用】

静态注册:在AndroidManifest.xml文件中注册广播接收器,并通过intent-filter标签定义过滤条件。【静态注册的广播接收器随着程序的安装而被整个android系统监听】

3:发送广播

广播可以来自系统,比如开关机、网络状态变化等系统事件,android都会广播出去,我们可以在程序中监听这些系统广播而作出响应,如:开机自启动、横屏自动全屏、网络状态变化提示等等。【一切android系统自身的变化事件,都可以用对应的广播被我们监听从而作出自定义的响应!另外,日常开发中需要用到的大多都是系统广播

除了系统广播,我们也可以在程序中发送自定义的广播【一般,自定义的广播用于进行一些跨程序的调用,例如:在微信中启动王者荣耀】。

发送标准广播:在activity代码中创建intent,设置action等后,sendBroadcast(intent)即可,符合过滤条件的接收器自然会做出响应;【标准广播几乎是异步、同时到达所有广播接收器的】

发送有序广播:在activity代码中创建intent,设置action等后,sendOrderedBroadcast(intent,null),系统中的广播接收器会根据注册时的优先级或先后顺序依次接受该广播。而在符合过滤条件的广播接收器中,可以在onReceive()方法中响应完毕后通过abortBroadcast()中断广播继续往下传递。

 

4:本地广播

 本地广播是只能在程序内部传递的广播,通过LocalBroadcastManager进行广播的注册、发送、注销等。

使用步骤:

定义广播接收器类——创建LocalBroadcastManager实例——通过LocalBroadcastManager实例注册广播接收器——通过LocalBroadcastManager实例发送广播——在activity的onDestroy()方法中通过LocalBroadcastManager实例注销广播接收器。

【本地广播是只能在程序内部传递和响应的,因此其生命周期随同程序,也就是说只能动态注册本地广播接收器

 

《第一行代码》读书笔记二

标签:case   实例   开关   文件   读书笔记   rtb   提示   微信   步骤   

原文地址:http://www.cnblogs.com/ygj0930/p/7637401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!