Android学习第20课—广播机制

来源:互联网 发布:c语言谭浩强 编辑:程序博客网 时间:2024/06/06 07:09

主要内容:
1 Android的广播机制介绍
2 BroadcastReceiver的作用
3 BroadcastReceiver的编写方法
4 BroadcastReceiver的生命周期
5 注册BroadcastReceiver的方法
6 Android内置的BroadcastActions

发送广播机制,在需要的地方创建一个Intent对象,将信息的内容和用于过滤的信息封装起来,通过调用Context.sendBroadcast方法将Intent对象广播出去。
发送广播的实体是Intent,接收广播的时候就需要通过IntentFilter来过滤。BroadcastReceiver的生命周期比较简单,只有一个回调方法onReceive,该方法在应用程序接收到发送给自己的广播时调用。使用BroadcastReceiver时,只需对onReceive方法进行重写,在适当的地方注册该对象就行了。
注册BroadcastReceiver方法有两种:一是在AndroidManifest.xml中申明。注册信息包含在<receiver></receiver>标签中并在<intent-filter>标签中设定过滤规则。另一种方法就是在代码中创建并设置IntentFilter对象。

    两种注册方式的区别:
   ... 使用在AndroidManifest.xml中注册,即使是应用程序关闭了,BroadcastReceiver依然会接收到广播的消息。即使说无论应用程序是开还是关闭,都处于活动状态,都可以接收广播事件。

    ...在代码中注册就更灵活,当Context对象被注销时,该BroadcastReceiver就不存在了。如果一个BroadcastReceiver用于更新UI,那么通常用这种方法注册,在Activity启动是注册BroadcastReceiver,在Acticity不可见后取消注册。


    代码中注册和取消注册的方法:
    ...注册:registerReceiver(receiver,filter);
    ...取消注册:unregisterReceiver(receiver);

    在Android平台当中,内置了很多Action,用于帮助开发者监听手机上所发生的各种事件。
原创粉丝点击