189 8069 5689

android广播的应用-创新互联

一丶 broadcast receiver 广播接收者

成都创新互联公司网站建设公司,提供网站制作、成都网站制作,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

注:android的四大组件:

*activity用户交互的界面

*content provider 暴露应用程序隐私的数据给别的应用程序
* broadcast receiver 广播接收者
* service 后台的服务

>Android手机里面的广播接受者
>系统电量不足,电池充满,插上充电器,sd卡被拔出,sd卡插上,拨出电话,接收到了短信,开机完毕,屏幕锁定,屏幕解锁
>在Android操作系统里面有很多的系统事件,Google工程师希望把这个事件告诉程序员(Android系统内部内置了电台),程序员注册收音机就可以获取对应的事件

例如1:监听用户外拨的电话,获取外拨电话的广播事件(清单文件里面配置)

  1. 买个收音机
          写个类继承BroadcastReceiver
          OutCallReceiver extends BroadcastReceiver
    2. 买个电池
          
           

    3. 调整到合适的频道
       
                   
            

例如2:短信检测广播

    //拿到用户接收的所有短信
      Object[] objs = (Object[]) intent.getExtras().get("pdus");
      //循环拿到短信
      for (Object obj : objs) {
         SmsMessage sms = SmsMessage.createFromPdu((byte[])obj) ;
         //拿到短信的内容
         String body = sms.getMessageBody() ;
         //拿到短信的地址
         String address = sms.getOriginatingAddress() ;
         //拿到短信的发送时间
         long date = sms.getTimestampMillis() ;
         String d = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss").format(new Date(date)) ;

         System.out.println("内容:" + body );
         System.out.println("地址:" + address );
         System.out.println("时间:" + d );
      }

清单里面配置合适的频道:


               

例3:sd卡状态监听器

        //拿到动作
      String action = intent.getAction() ;
      if("android.intent.action.MEDIA_MOUNTED".equals(action)){
         System.out.println("sd卡装上了,可以使用了");
         Toast.makeText(context, "sd卡安装了", 0).show() ;
      }else if("android.intent.action.MEDIA_REMOVED".equals(action)){
         System.out.println("sd被拔掉了,不要拔它");
         Toast.makeText(context, "sd被拔掉了,不要拔它", 0).show() ;
      }else if("android.intent.action.MEDIA_UNMOUNTED".equals(action)){
         System.out.println("sd被卸载了,没事不要卸载它");
         Toast.makeText(context, "sd被卸载了,没事不要卸载它", 0).show() ;
      }

清单配置:


               
               
               
               

例4:应用程序的卸载和安装监听

//拿到动作
      String action = intent.getAction() ;
      System.out.println(action);
      if("android.intent.action.PACKAGE_ADDED".equals(action)){
         System.out.println("应用程序安装了");
         Toast.makeText(context, "应用程序安装了", 0).show() ;
      }else if("android.intent.action.PACKAGE_REMOVED".equals(action)){
         System.out.println("应用程序卸载了");
         Toast.makeText(context, "应用程序卸载了", 0).show() ;
      }else if("android.intent.action.PACKAGE_REPLACED".equals(action)){
         System.out.println("应用程序覆盖安装了");
         Toast.makeText(context, "应用程序覆盖安装了", 0).show() ;
      }

清单里面的频道配置:


               
               
               
               

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:android广播的应用-创新互联
URL标题:http://jkwzsj.com/article/djoego.html

其他资讯