首页 > 移动平台 > 详细

Android BroadcastReceiver广播接受者

时间:2016-02-25 11:52:42      阅读:199      评论:0      收藏:0      [点我收藏+]

静态注册
配置清单表注册:只要曾经注册过哪怕关闭也能调用
 
广播的步骤:
  广播的步骤:
   方式二:sendBroadCastReceive
     * 发送  无序广播,普通广播
     * 1.发送方
     *    Intent intent=new Intent();
     *    intent.setAction("");发送的内容
     *    sendBroadcast(intent);
     * 2.接受方
     * 创建一个reserver类继承BroadcastReceiver
     *   重写receiver方法
     *   配置receiver并且写receiver的属性intent-filter,--action
     *   注:action的名字和发送的内容相同setAction;
     *   
     *  3. 主要作用service方法里面执行,可以在不同应用之间进行通信
     *  
     *  注:如果多个action一样,先执行当前项目里面的然后在执行其他项目中的;即接受方同时收到广播
     *   没有优先级别
 
方式二:
  发送有序广播
         1.创建
            Intent intent=new Intent("youxu");
            sendOrderedBroadcast(intent, null, null, null, 1, "我说了算", null);
         2.创建broadReciver
            getResultData();获取发送的信息
            setResultData();修改发送的信息
            abortBroadcast();拦截发送的信息,终止发送;
         3.配置
         <receiver android:name="com.example.reseiver.TwoBroadReceive">
 
            <intent-filter android:priority="900">
                <action android:name="youxu"/>
 
            </intent-filter>
 
 
        </receiver>
        priority为-1000到1000数值越大优先级越高
 
 
 
         短信的接受加权限设置的波段action
          <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
         权限 android.permission.RECEIVE_SMS
        
        
        
         开机启动的action即从非Activity启动
         <action android:name="android.intent.action.BOOT_COMPLETED"/>
         开机启动需要调到activity必须设置flags
         intent.setFlags(Intent.FLAG_ACTIVITYw_NEW_TASK);
           </receiver>
          <receiver android:name="com.example.duanxin.KaiJiXinResever"            >
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                </intent-filter>
        </receiver>ww
 
动态注册:
    在当前Acitivity中配置
在onStart中注册,onStop中取消unregisterReceiver
               DongTaiBroadReceive receive;
               IntentFilter intentfilter=new IntentFilter("intent");
               receive = new DongTaiBroadReceive();
               registerReceiver(receive, intentfilter);
               Intent inten=new Intent("intent");
               sendBroadcast(inten);
 
  在当前Acitivity中取消receiver
  protected void onDestroy() {
        // TODO Auto-generated method stub
 
         unregisterReceiver(receive);
        super.onDestroy();
    }
 
 
 

Android BroadcastReceiver广播接受者

原文:http://www.cnblogs.com/huihuizhang/p/5216267.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!