android 广播机制二

来源:互联网 发布:怎么开淘宝店啊 编辑:程序博客网 时间:2024/03/29 18:12
原创:kylin_zeng  http://blog.chinaunix.net/uid/23795897.html
再此感谢mars 老师的帮助。

1、BroadcastReceiver 用于监听被广播的事件,这个必须注册到系统中,有两种方式:  
    1)在AndroidManifest.xml 中注册,这种方法只要运行一次,那么即使关闭了程序也同样能监测到。这种方法在上一节就说过了。


    2)在应用程序的代码中注册。
       注册BroadcastReceiver  -> registerReceiver(receiver,filter);
       取消注册BroadcastReceiver  -> unregisterReceiver(receiver,filter);
      一般在activity启动时注册,不可见时取消注册。




  总结:======>系统产生了一个广播,那么怎么接收到呢:
         先注册到系统中,用registerReceiver


        smsReceiver = new SMSReceiver();     
IntentFilter filter = new IntentFilter();   //生成一个IntentFilter对象
filter.addAction("android.provider.Telephony.SMS_RECEIVED"); //为IntentFilter添加一个Action
TestBC2Activity.this.registerReceiver(smsReceiver, filter);//将BroadcastReceiver对象注册到系统当中。


        -->系统一旦有消息肯定是通过intent方式的,那么就建立一个IntentFilter filter,里面添加消息过滤,只得到你想要的事件,如android.provider.Telephony.SMS_RECEIVED,那么收到了肯定要通知是吧,就是用
smsReceiver = new SMSReceiver();类,通知这个类接收啦。
        接收类:
         public class SMSReceiver extends BroadcastReceiver{  //要继承BroadcastReceiver


      public void onReceive(Context context, Intent intent) {
               ...接收到了实现你要的功能。


               }


         }

测试,点击注册就注册到系统中了。然后用DDMS 里面有个发短信功能。就可以截取到了,


TestBC2.rar
        
  
   
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(31) | 评论(0) | 转发(0) |
0

上一篇:android 广播机制一

下一篇:kernel oops

相关热门文章
  • Android之开发环境搭建
  • Android自定义View的实现...
  • AndroidManifest.xml配置文件...
  • Android源码调试方法详解...
  • 不用vs和cygwin!Eclipse+cdt...
  • 请问Linux默认shell的是什么 ...
  • 谁能够帮我解决LINUX 2.6 10...
  • 现在的博客积分不会更新了吗?...
  • shell怎么读取网页内容...
  • ssh等待连接的超时问题...
给主人留下些什么吧!~~
原创粉丝点击