zoukankan      html  css  js  c++  java
  • 发送一条有序广播

    //点击按钮  发送大米 
        public void click(View v) {
            
            //发送一条有序广播 
            Intent intent = new Intent();
            //设置一个action
            intent.setAction("com.itheima.rice");
            /**
             * receiverPermission 接收的权限
             * resultReceiver 最为一个最终的receive  最后都能够接收到广播 
             */
            sendOrderedBroadcast(intent, null, new FinalReceiver(), null, 1, "给每个村民发了1000斤大米", null);
            
            
        }
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.widget.Toast;
    
    public class ProvienceReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
            
            //[1]获取到发送广播携带的数据 
            String content = getResultData();
            
            //[2]展示到Toast上
            Toast.makeText(context, "省:"+content, 1).show();
            
            //[2.1]终止广播 
    //        abortBroadcast();
            
            //[3]修改数据 (扣留大米)
            setResultData("给每个村民发了500斤大米");
            
            
        }
    
    }
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.widget.Toast;
    
    public class CityReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
    
            //[1]获取到发送广播携带的数据 
            String content = getResultData();
            
            //[2]展示到Toast上
            Toast.makeText(context, "市:"+content, 1).show();
            
            //[3]修改数据 (扣留大米)
            setResultData("给每个村民发了200斤大米");
            
        }
    
    }
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.widget.Toast;
    
    public class CountryReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
    
            //[1]获取到发送广播携带的数据 
            String content = getResultData();
            
            //[2]展示到Toast上
            Toast.makeText(context, "乡:"+content, 1).show();
    
            //[3]修改数据 (扣留大米)
            setResultData("给每个村民发了10斤大米");
            
        }
    
    }
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.widget.Toast;
    
    public class NongMinReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
            
            //[1]获取到发送广播携带的数据 
            String content = getResultData();
            
            //[2]展示到Toast上
            Toast.makeText(context, "农民:"+content, 1).show();
        }
    
    }
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.widget.Toast;
    
    /**
     * 最终的receiver 不需要再清单文件里面配置
     * @author jhon
     *
     */
    public class FinalReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
    
            String content = getResultData();
    
            Toast.makeText(context, "报告"+content, 1).show();
            
            
        }
    
    }
         <!--配置广播接收者  -->
            <receiver android:name="com.itheima.receiverice.ProvienceReceiver">
                <intent-filter 
                    android:priority="1000"
                    >
                    <action android:name="com.itheima.rice"/>
                </intent-filter>
            </receiver>
            
             <receiver android:name="com.itheima.receiverice.CityReceiver">
                <intent-filter 
                    android:priority="800"
                    >
                    <action android:name="com.itheima.rice"/>
                </intent-filter>
            </receiver>
            
                 <receiver android:name="com.itheima.receiverice.CountryReceiver">
                <intent-filter 
                    android:priority="100"
                    >
                    <action android:name="com.itheima.rice"/>
                </intent-filter>
            </receiver>
             <receiver android:name="com.itheima.receiverice.NongMinReceiver">
                <intent-filter 
                    android:priority="10"
                    >
                    <action android:name="com.itheima.rice"/>
                </intent-filter>
            </receiver>
  • 相关阅读:
    多线程学习笔记第一篇
    当Visual Studio中win32控制台应用程序的注释也会生产代码时……
    博客行文及排版技法
    Debian Linux下的Python学习——安装python,vim
    onhashchange事件
    MyEclipse9 Maven开发Web工程 详细配置
    Java面向对象(上)
    lucene 的分析器(analyzer)与分词器(tokenizer)和过滤器(tokenfilter)
    java编程陷阱
    solr中文分词(mmseg4j)
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/5957827.html
Copyright © 2011-2022 走看看