关于AndroidBroadcastReceiver的注册方式
2016-07-10 21:00
417 查看
本篇文章简单介绍一下android 广播的注册方式,也是自己做一下笔记,以后对广播的理解更加深入后,再详谈,哈哈,,
要创建一个类继承BroadcastReceiver(广播接收者);
然后在Activity中启动,发送广播
我这里只是为了测试,刚进入界面时候弹出hi这个信息,
最后我们要在Androidmainferi里注册一下广播
注意:上面提示到的标记就是在注册广播这里添加进去
静态注册广播就完成了,,
注意intentFilter.addAction(ACTION);,这个ACTION要和你送广播时的Action一致,当然ACTION是字符串还是什么随便你。这个无论是静态还是动态都一样,静态动态注册,我的理解就是和布局文件差不多,是要在XML里放一个TextView,还是要用代码动态添加一个TextView,,添加的方式不同,,。。
发布广播
好了,动态,静态注册广播完成。。。啦啦啦啦啦啦啦啦啦!!!
广播的注册方式
1. 静态方式注册:要创建一个类继承BroadcastReceiver(广播接收者);
public class CustomBroadcastReaceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //获取启动广播的标记昵称 String actionStr = intent.getAction(); //发送广播的消息 String contextStr = intent.getStringExtra("context"); Toast.makeText(context, contextStr, Toast.LENGTH_SHORT).show(); } }
然后在Activity中启动,发送广播
public class TextBR extends Activity { CustomBroadcastReaceiver broadcastReaceiver; //无论是动态注册广播,获取静注册加广播都需要一个标记,识别 //这个标记“jingtaizhuce”需要在Androidmainferi中添加的。 private static final String ACTION = "jingtaizhuce"; Intent intent = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //静态注册,广播, intent = new Intent(ACTION); intent.putExtra("context", "hi"); sendBroadcast(intent); }
我这里只是为了测试,刚进入界面时候弹出hi这个信息,
//这是一个点击事件 //当你点击时候,又发送一条广播,信息是hello。。。 public void myBroadcaeiver(View view) { intent.putExtra("context", "hello"); sendBroadcast(intent); } }
最后我们要在Androidmainferi里注册一下广播
注意:上面提示到的标记就是在注册广播这里添加进去
<receiver android:name=".textguangbofuwu.CustomBroadcastReaceiver"> <intent-filter android:priority="1000"> <!-- 设置最高优先级 --> <action android:name="jingtaizhuce" /> </intent-filter> </receiver>
静态注册广播就完成了,,
动态注册广播 ##’
其实动态注册广播,和EventBust这个挺像的,EventBus就是对广播的一个封装,挺6的一个框架,,可以在网上搜来看看,,//动态注册 broadcastReaceiver = new CustomBroadcastReaceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ACTION); registerReceiver(broadcastReaceiver, intentFilter);
注意intentFilter.addAction(ACTION);,这个ACTION要和你送广播时的Action一致,当然ACTION是字符串还是什么随便你。这个无论是静态还是动态都一样,静态动态注册,我的理解就是和布局文件差不多,是要在XML里放一个TextView,还是要用代码动态添加一个TextView,,添加的方式不同,,。。
发布广播
intent = new Intent(); intent.setAction(ACTION); intent.putExtra("context", "听说还能遇见"); sendBroadcast(intent);
好了,动态,静态注册广播完成。。。啦啦啦啦啦啦啦啦啦!!!
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories