灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3202回复:0

Android广播(笔记)

楼主#
更多 发布于:2012-09-06 13:42


Android程序中使用广播,有两种注册广播接收器的方式,区别如下:
第一种方式:在AndroidManifest.xml文件中注册
<receiver Android:name="MyReceiver" >
            <intent-filter >
                <action Android:name="com.and.Android.intent.action.TEST" />
                <action Android:name="Android.net.wifi.WIFI_STATE_CHANGED" />
            </intent-filter>
</receiver>
这里注册了自己的广播接收器,可以接收两种类型的广播,第一个是自定义的动作,第二个是系统的,当WIFI状态改变。都是为了测试,随便添加了一个。
这种注册方式是常驻型,当应用程序关闭后(没有卸载前),如果有相应广播信息来,程序也会被系统调用自动运行。
第二种方式:在程序代码中动态注册
BroadcastReceiver receiver = new MyReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);//这里添加系统广播,当屏幕关闭的时候发送
filter.addAction(ACTION_INTENT_TEST);
registerReceiver(receiver, filter);
这种注册方式不是常驻型,广播接收器跟随Activity的生命周期。注意在Activity结束前解除注册广播接收器
unregisterReceiver(receiver);
假设忘记解除注册,系统中也不会保留。即当有广播来,程序也不会处理。



喜欢0 评分0
游客

返回顶部