• 广播接收器的类别


    广播接收器主要分为:普通广播,有序广播,异步广播

    一、普通广播:所有监听该广播的BroadcastReceiver都能接收到该广播,无法控制广播的顺序,也无法打断广播的传播

      sendBroadcast(Intent intent);//发送普通广播

    二、有序广播:按照级别值来确定先后顺序,同级别随机,级别值在-1000~1000

         如何发送有序广播:

         1,先在配置文件中对优先级别进行设置

    ...
    2 </activity>
    3 
    4   <receiver android:name=".MyBroadcastReceiver">
    5       <intent-filter android:priority="900">//900为该广播的优先值
    6            <action android:name="com.android.myAction"/>
    7       </intent-filter>
    8   </receiver>

        2、接收广播操作

     public class MyBroadcastReceiver extends BroadcastReceiver{//定义盖子类用于接收广播
         @override
    2   public void onReceive(Context context,Intent intent){//接收广播
    3      if(intent.getAction().equals("com.android.myAction")){//判断intent对象的action是否为com.android.myAction
    4   Toast.makeText(context,"接收到广播信息"+intent.getStringExtra("DATA"),Toast.LENGTH_SHORT).show();
      this.abortBroadcast();//禁止广播的传输
    5        }//将接收的对象用Toast显示出来
    6   }
    7 }

    clearAbortBroadcast()方法恢复传输

     3、发送有序广播

    sendOrderedBroadcast(Intent intent);

    三、异步广播:其发送的最后一个intent会被保留,当广播接收器再次活跃时,又会重新接收

      sendStickyBroadcast(Intent intent);//发送异步广播

     removeStickyBroadcast(Intent intent);//取消异步广播

     

    下一页:系统广播                         上一页:广播生命周期

  • 相关阅读:
    jQuery插件jTemplates(模板)
    js常用正则
    SQLServer笔记 //20111027
    神经网络感知器matlab实现
    求全排列(无重复字母)
    python 学习笔记(1、数据类型)
    WampServer 不能打开phpmyadmin 的解决办法
    求一个整形数组里子序列和最大的算法
    堆排序算法的实习(C++)
    归并排序
  • 原文地址:https://www.cnblogs.com/DASOU/p/3147932.html
Copyright © 2020-2023  润新知