栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android 广播的分类?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 广播的分类?

分为有序广播和无序广播两类。

无序广播发送代码:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }         public void click(View v){        //启动界面 startActivity        //发送广播 sendBroadcast  Intent intent = new Intent();  intent.setAction("com.itheima.cctv.action.NEWS");intent.putExtra("data", "我是一个无须的广播");        sendBroadcast(intent);      }   }}

无序广播的监听代码:

public class CctvReceiver extends BroadcastReceiver {    private static final String TAG = "CctvReceiver";    @Override    public void onReceive(Context context, Intent intent) {        String data = intent.getStringExtra("data");        Log.d(TAG, "data==="+data);    }}<receiver android:name="com.itheima.cctv.CctvReceiver"> <intent-filter > <!--这里监听的广播就是上面发送广播设置的      intent.setAction("com.itheima.cctv.action.NEWS");-->     <action android:name="com.itheima.cctv.action.NEWS"/> </intent-filter></receiver>

有序广播发送:

public class ShengReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        Log.d("vivi", "我是省级部门,我收到的指令是:"+getResultData());        //getResultData()是用来获取有序广播里面的数值.这里的信息是:        //主席讲话:每人奖励10斤土豆 setResultData("主席讲话:每人奖励7斤土豆");//有序广播的数值,可以被修改,后面的程序在接受到这个广播,就会变成,现在我们改变的值了  //有序广播传输是可以终止的.但是最终的接受者就算在终止之后,也是可以接受到数据的        //abortBroadcast();    } } public class ShiReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        Log.d("vivi", "我是市级部门,我收到的指令是:"+getResultData());    //因为上面修改了数据,所以这里获取到的数据是:主席讲话:每人奖励7斤土豆    }}<!--有序广播的优先级别使用 android:priority=""来指定,最高是1000,最低是-1000--><receiver android:name="com.itheima.region.ShengReceiver"> <intent-filter android:priority="1000">     <action android:name="com.itheima.gov.action.POTATO"/> </intent-filter>        </receiver> <receiver android:name="com.itheima.region.ShiReceiver">       <intent-filter android:priority="500"> <action android:name="com.itheima.gov.action.POTATO"/>        </intent-filter>    </receiver>

 

有序接收:

public class MyReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        Log.d("vivi", "我是恩恩主席的内线,我收到的指令是:"+getResultData());    }}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/360081.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号