Android提高第六篇之BroadcastReceiver

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 06:47 点击:

前面分别讨论了Activity和Service,这次就轮到BroastcastReceiver,Broastcast是应用程序间通信的手段。BroastcastReceiver也是跟Intent紧密相连的,动态/静态注册了BroastcastReceiver之后,使用sendBroadcast把Intent发送之后,系统会自动把符合条件的BroastcastReceiver启动,跟嵌入式系统的中断类似。

        本文主要演示了如何静态/动态注册BroastcastReceiver,向系统索取电量信息,以及枚举信息的字段。本文运行截图如下:

\

                        \

 


上图是发送Intent至内部动态注册的BroadcastReceiver,接收到之后显示消息名称。动态注册BroadcastReceiver用到registerReceiver()。

 

\

 

上图是发送Intent至内部静态注册的BroadcastReceiver,接收到之后显示消息名称。静态注册比动态注册麻烦点,先新建一个类继承BroadcastReceiver,然后到AndroidManifest.xml 添加

view plaincopy to clipboardprint?
<receiver android:name="clsReceiver2"> 
    <intent-filter> 
        <action 
            android:name="com.testBroadcastReceiver.Internal_2"/> 
    </intent-filter> 
</receiver> 
  <receiver android:name="clsReceiver2">
   <intent-filter>
    <action
     android:name="com.testBroadcastReceiver.Internal_2"/>
   </intent-filter>
  </receiver>

第一个name是类名,第二个是action的名称。

 

上图是枚举Intent消息的字段,这个功能比较适合懒人,把收到的Intent消息的字段全部分解了,再看看哪个需要的,懒得记住。实现这部分的代码如下:


view plaincopy to clipboardprint?
//当未知Intent包含的内容,则需要通过以下方法来列举  
                Bundle b=intent.getExtras();  
                Object[] lstName=b.keySet().toArray();  
 
                for(int i=0;i<lstName.length;i++)  
                {  
                    String keyName=lstName[i].toString();  
                    Log.e(keyName,String.valueOf(b.get(keyName)));  
                } 
//当未知Intent包含的内容,则需要通过以下方法来列举
    Bundle b=intent.getExtras();
    Object[] lstName=b.keySet().toArray();

    for(int i=0;i<lstName.length;i++)
    {
     String keyName=lstName[i].toString();
     Log.e(keyName,String.valueOf(b.get(ke

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1