BroadcastReceiver 广播的使用 (activity广播到fragment中,使用静态的没有成功,我就使用动态的 ,是可以的)
2015-10-28 13:17
369 查看
</pre><pre name="code" class="java"><pre name="code" class="java"> //接收广播 public static class Receiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String coupons = intent.getExtras().getString("coupons"); Message ms=new Message(); Bundle bundle=new Bundle(); ms.what=600; bundle.putString("coupons",coupons); ms.setData(bundle); cHandler.sendMessage(ms); } } //发送广播 Intent intent = new Intent(); //Itent就是我们要发送的内容 intent.putExtra("data", "this is data from broadcast "+Calendar.getInstance().get(Calendar.SECOND)); intent.setAction(flag); //设置你这个广播的action,只有和这个action一样的接受者才能接受者才能接收广播 sendBroadcast(intent); //发送广播 //注册广播(动态注册) receiver=new Receiver(); IntentFilter filter = new IntentFilter(); filter.addAction("com.cardvalue.sys.receiver"); //只有持有相同的action的接受者才能接收此广播 registerReceiver(receiver, filter); //注册广播(静态注册) <receiver android:name="net.youmi.android.AdReceiver" > <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <data android:scheme="package" /> </intent-filter> </receiver> 静态和动态的区别 1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\ 2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。 静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。 <http://www.open-open.com/lib/view/open1342796818088.html (可以参考)
相关文章推荐
- SQL谜题(加减符号替代)
- 托尔斯泰
- Node.js 内存泄露 定位
- 动画(三)
- SPM - data analysis
- Linux 进阶 文件和文件系统的压缩和打包
- 人生三重界
- 引导滤波(guided image filtering)原理及C++实现
- js 去掉字符串前后空格
- 一个函数返回参数二进制中 1 的个数
- 转载:200多个js技巧代码
- 动画(二)
- 实现将一个字符串转化成对应的整形数字
- Redis 架构设计
- http://codeforces.com/contest/34
- Android PackageManagerService流程详细分析(二)之installer
- 比较Perl、PHP、Python、Java和Ruby
- hello world背后的密秘
- .NET不可不知的的基础名词
- Mutex(测量)