android 四大组件 BroadcastReceiver使用
来源:互联网 发布:网络挣钱路子 编辑:程序博客网 时间:2024/05/22 15:55
今天项目突然要用到BroadcastReceiver这个组件,由于长时间没有使用过,不知道怎么写了。于是写下此博客进行加深记忆!
what(BroadcastReceiver是什么?)
BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。例如:1.当网络状态改变时系统会产生一条广播,我们可以根据网络状态变化做一些操作2.当系统收到一条短信时,我们可以拦截短信的广播对短信做一些处理3.当我们在使用我们的app时,电话响了,这是我们就需要监听电话广播。做一些数据持久化操作,防止应用丢失用处输入的数据。
how(我们该如何使用)
一、创建BroadcastReceiver的子类
实现onReceive方法,可以从intent中拿到广播传出的数据
class PhotoSelectReceiver extends BroadcastReceiver { public static final String ACTION_SELECT_PHOTO="android.intent.action.SELECT_PHOTO"; /** * @param context * @param intent * @see android.content.BroadcastReceiver#onReceive(android.content.Context, * android.content.Intent) */ @Override public void onReceive(Context context, Intent intent) { if (intent != null&&intent.getAction().equals(ACTION_SELECT_PHOTO)) { photo =intent.getStringExtra(Constants.KEY_PHOTO); } } }
二、静态注册
AndroidManifest.xml配置文件中application标签下进行注册
<receiver android:name=".PhotoSelectReceiver" > <intent-filter> <action android:name="android.intent.action.SELECT_PHOTO" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter></receiver>
三、动态注册:
PhotoSelectReceiver receiver=new PhotoSelectReceiver();IntentFilter filter = new IntentFilter(); filter.addAction("android.intent.action.SELECT_PHOTO"); //在onCreate函数进行注册registerReceiver(receiver, filter);
四、广播的注册与注销
//在onCreate函数进行注册registerReceiver(receiver, filter); //在onDestroy函数进行注销unregisterReceiver(receiver);
五、发送广播
Intent intent = new Intent();intent.putExtra(Constants.KEY_PHOTO, photo);//设置广播行为 intent.setAction(PhotoSelectReceiver.ACTION_SELECT_PHOTO);sendBroadcast(intent);
0 0
- android 四大组件 BroadcastReceiver使用
- Android四大组件之BroadcastReceiver的使用
- Android四大组件----BroadcastReceiver
- Android四大组件-BroadcastReceiver
- Android四大组件-BroadcastReceiver
- Android四大组件----BroadcastReceiver
- android四大组件---BroadCastReceiver
- Android四大组件:BroadcastReceiver
- Android四大组件:BroadcastReceiver
- Android四大组件:BroadcastReceiver
- (Android四大组件)---BroadcastReceiver
- android四大组件之BroadCastReceiver
- android 四大组件之 broadcastreceiver
- Android 四大组件之一 BroadcastReceiver
- android四大组件之BroadcastReceiver
- Android四大组件之BroadcastReceiver
- Android四大组件之BroadcastReceiver
- Android四大组件之BroadcastReceiver
- Sublime 插件Pylinter could not automatically determined the path to lint.py
- Fragment嵌套ViewPager+Fragment使用FragmentStatePagerAdapter报错,哪位大神帮我解决这个问题
- 新年新感悟
- Android的ClassLoader、DexLoader和插件化
- GIS+=地理信息+容器技术(1)——容器技术概述
- android 四大组件 BroadcastReceiver使用
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- Android 应用开发(一):搭建 Android 开发环境
- leetcode刷题系列C++-Search in Rotated Sorted Array II
- iOS横竖屏
- Light OJ 1013 Love Calculator (dp)
- GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用。 官方只提供了Debian/Ubuntu系统下的安
- 设计模式--单例模式
- 栈 1