我的android学习经历29
四大组件之广播接收者BroadcastReceiver
新建广播接收器
需要新建一个类继承类BroadcastReceiver,并且重写其中的方法onReceive(),不要在这个方法中添加过多的逻辑或者进行任何耗时的操作,因为在广播接收者中是不允许开启线程的。
当接收到指定的广播时就会执行onReceive()方法中的内容。
注册广播接收器可以动态也可以静态。
这里简单介绍一下静态:
在AndroidManifest.xml的<application></application>中间写入<receiver></receiver>,在这个标签中写入你要注册的接收器和要接收的广播
<receiver android:name=".MyBroadcastReceiver"> <intent-filter > <action android:name="你要接收的广播" /> </intent-filter> </receiver>
MyBroadcastReceiver为接收器,也就是创建的类。action中的name中写的是要接收的广播,可以是系统广播,也可以是自定义的广播。
有时接收广播是需要权限的,这个需要注意。
新建广播
广播有两种:标准广播和有序广播
标准广播就是任何注册接收此广播的程序都可以接收到,有序广播就是按照优先级进行接收,并且优先级高的可以通过abortBroadcast(),截断广播,后面的接收器将会收不到广播。
广播也是用Intent来写的比如
Intent intent=new Intent("广播名"); sentBroadcast(intent);
上面的广播是sentBroadcast()发出,这个发出的就是标准广播。使用sentOrderedBroadcast()发出的是有序广播。
当发出的是有序广播时,注册的内容就需要添加优先级priority
<receiver android:name=".MyBroadcastReceiver"> <intent-filter android:priority="100" > <action android:name="你要接收的广播" /> </intent-filter> </receiver>
本地广播
上面发出的广播都是系统全局广播,很容易出现安全性问题。使用本地广播可以简单解决安全性问题
主要使用一个LocalBroadcastManager来对广播进行管理,并提供了发送广播和注册广播接收器的方法
上面只是简单介绍一下广播接收者,如果有什么问题可以在评论区留言,谢谢!
我的android学习经历29的更多相关文章
- 我的android学习经历
我为什么选择android? 我基本上前一年的时间都是在学习java的语法和线程之类的,没有注意java的分类,所以到现在慢慢接触到深处的时候我了解到,java的优势主要在web,而我不是特别喜欢网页 ...
- 我的android学习经历36
最近把android的基础知识都学的差不多了,也写了许多demo,就想自己写一个app,可是写到后面的时候发现很混乱,所以还是得写一些文档,用xml语言写一下基础的类以及一些其他的东西.所以要想写一个 ...
- 我的android学习经历27
前几天忙着学校的互联网+项目比赛,没有时间学习android和发一些东西,主要是这两天太累了,我是项目组长,好多东西去弄,今天已经交稿去进行初赛. 马上收拾收拾心情,继续我的andorid菜鸟之路 加 ...
- 我的android学习经历23
学习fragment时遇到的问题 这几天学习fragment静态加载时遇到这样的问题: java.lang.RuntimeException: Unable to start activity Com ...
- [转] Android学习系列(29)--App调试的几个命令实践
在Android的应用开发中,我们会用到各种代码调试:其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过高,内存泄露等,我们无法简单的进行代码调试,我们需要一个系统日志等等,下面 ...
- 我的android学习经历9
给android的activity添加背景图片 1.你可以在网上下载android的图片,也可以制作自己的图片,图片的后缀为.png,也就是png格式的图片(注意图片的大小要适合你的手机屏幕或者AVD ...
- 我的android学习经历7
android签名后报错的问题 Duplicate id @+id/imageView, already defined earlier in this layout,android生成报错 这个是项 ...
- 我的android学习经历5
android在strings.xml文件中,写string对象时,如何加入空格 <string name="password">密 码:</string& ...
- 我的android学习经历40
为listview设置背景,并且不随拖动改变 <ListView android:id="@+id/list_view" android:layout_width=" ...
随机推荐
- IntelliJ IDEA 14注册码
User:xring Key:21423-V4P36-U7W8K-8CYUK-93HXA-MKGZ5 User:arix Key:52998-LJT74-J7YEX-UPVT3-Q5GUF-5G4B5 ...
- archlinux 网络配置
https://wiki.archlinux.org/index.php/Network_configuration_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%2 ...
- Portal Page的呈現
先看一下在JSR168中提到的Portal page,可以了解一個Portal Page上大概有哪些element: OK...進入本次主題 PSML:PSML的全名是Portal Structure ...
- ID3DXMesh接口 创建自己的立方体网格
D3DXCreateMeshFVF 首先创建一个ID3DXMesh接口. ID3DXMesh接口的说明可以参数龙书. 这里主要是用代码来讲解: #define VERTEX_FVF (D3DFVF_X ...
- 查看lnmp 编译参数
nginx :版本/opt/local/nginx/sbin/nginx -v 编译参数:/opt/local/nginx/sbin/nginx -V apache:版本/opt/local/http ...
- JNI 概述【转】
本文转载自:http://wiki.jikexueyuan.com/project/jni-ndk-developer-guide/overview.html 相信很多做过 Java 或 Androi ...
- Backup: Date and Time in Perl6
时间 Date #Operators ==, <, <= , >, >=, !=, eq, lt, le # Methods $date = Date.new(YEAR, MO ...
- Android使用Application总结
对于application的使用,一般是 在Android源码中对他的描述是; * Base class for those who need to maintain global applicati ...
- Java中常见数据结构:list与map
1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程 ...
- ecshop搜索出现相关商品的效果滑动下拉效果
ecshop搜索栏效果如下 所需要的样式我们可以复制到style.css里: /*搜索滑动效果*/ .Menu { position:absolute; top:30px; left:7px; wid ...