案例——有序广播

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

案例——有序广播

通过sendOrderedBroadcast()方法发送一条有序广播
1.编写用户交互界面:





    

2.点击发送有序广播按钮时事件处理

package bzu.edu.cn.guangbo;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void send(View view)
    {
        Intent intent=new Intent();
        //定义广播的事件类型
        intent.setAction("Intercept_Stitch");
        //发送广播
        sendOrderedBroadcast(intent,null);

    }
}

3.创建广播接收者

package bzu.edu.cn.guangbo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class MyBroadcastReceiverOne extends BroadcastReceiver {
    public MyBroadcastReceiverOne() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO: This method is called when the BroadcastReceiver is receiving
        // an Intent broadcast.
        //throw new UnsupportedOperationException("Not yet implemented");
        Log.i("MyBroadcastReceiverOne","自定义的广播者one,接收到了广播事件");


    }

}



package bzu.edu.cn.guangbo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class MyBroadcastReceiverTwo extends BroadcastReceiver {
    public MyBroadcastReceiverTwo() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO: This method is called when the BroadcastReceiver is receiving
        // an Intent broadcast.
        //throw new UnsupportedOperationException("Not yet implemented");
        Log.i("MyBroadcastReceiverTwo","自定义的广播者two,接收到了广播事件");
       
        
    }
}





package bzu.edu.cn.guangbo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class MyBroadcastReceiverThree extends BroadcastReceiver {
    public MyBroadcastReceiverThree() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO: This method is called when the BroadcastReceiver is receiving
        // an Intent broadcast.
        //throw new UnsupportedOperationException("Not yet implemented");
        Log.i("MyBroadcastReceiverThree","自定义的广播者three,接收到了广播事件");
    }
}

清单文件:




    
        
            
                

                
            
        


        
        
            
               
               
            
            
        
            
                
                
            
        

        
            
                
                
            
        
    


效果图:



问题1:程序启动后,点击“发送有序广播”按钮,发出一条广播事件,此事观察LogCat窗口下的提示信息,输出什么?为什么?


输出这样的顺序,是因为在清单文件中的
android:priority="600"
属性,值越大,越先输出。

问题2:若将广播接收者MyBroadcastReceiverTwo优先级同样设置为1000,并将MyBroadcastReceiverTwo注册在MyBroadcastOne前面,再来运行程序,观察结果,你能得出什么结论?

清单文件中 android:priority="1000" 
属性值一样时,哪一个先注册,则先输出哪一个

问题3:修改MyBroadcastReceiverTwo如下,观察结果。


android:priority="1000"此属性值比MyBroadcastReceiverTwo低的
以及晚于它注册的广播全都拦截了。




发送有序广播案例 包com.edu.bzu.broadcast; 导入android.content.BroadcastReceiver; 导入android.content.Context; import android.content.Intent; 导入android.util.Log; / ** *由dpl在2017/6/4 0004创建。 * / public class MyBroadcast 阅读详情

相关推荐

通过sendOrderedBroadcast()方法发送一条有序广播

1.编写用户交互界面: xml version="1.0" encoding="utf-8"?>RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/act

qq_37739700的博客 2399

Android--有序广播的实例解析--案例《拦截有序广播

有序广播是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接受到这条信息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。所以,此时的广播接收器是有先后顺序的,并且可以被拦截。 如下是一个案例: 1.创建一个布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/an

lg_1996的博客 1413

Android--广播的类型及拦截有序广播案例

在Android系统中,根据广播的执行顺序不同,可将其分为有序广播和无序广播。  1.有序广播 有序广播是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。此时的广播接收器是有先后顺序,优先级高的广播接收器就可以先收到广播消息,并且前面的广播接收器还可以截断正在传递的广播,这样后面的广播接收器就无法收

winnie_hu的博客 6054

有序广播案例

有序广播是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接受到这条信息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。所以,此时的广播接收器是有先后顺序的,并且可以被拦截。 布局文件:activity_main.xml<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http:/

My_AndroidBLOG的博客 559

有序广播与无序广播案例

1、通过一个案例来讲解有序广播与无序广播的使用。 无序广播博是完全异步的,发送广播时所有监听设广播广播接受者都会接收到此消息,但接收的顺序不确定。 有序广播,会按接受者的优先级接收,只有一个广播接受者能接收消息,在此广播接受者中逻辑执行完毕,才会继续传递。 案例效果图如下 activity_main.xml         xmlns:tools="http://sc

qq_37651272的博客 540

有序广播案例实现

有序广播的小案例 通过设置不同的优先级查看广播接受者的接受顺序,或通过不同的注册顺序查看广播接受者的接受顺序 首先先写基本的布局文件和广播接收器 布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andro

Prince_J的博客 899

android案例有序广播

1.首先布局页面,代码如下: xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_order

lzc111020的博客 615

广播--案例:拦截有序广播

广播案例:拦截有序广播1.广播的类型可以根据广播执行顺序的不同,分为有序广播和无序广播。 1)无序广播有序广播的接受者顺序如下图所示,上面为无序广播,下面为有序广播 2)有序广播的基本知识 3)广播类型 2、案例的实现 1)布局文件<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=

qq_37739707的博客 2045

拦截有序广播案例

广播类型: 在Android系统中,根据广播的执行顺序不同,可以分为有序广播和无序广播。 1、 无序广播是一种完全异步执行的广播,无法被拦截。 2、有序广播是一种同步执行的广播,可以被拦截。

qq_37739715的博客 2210

Android中发送有序广播案例

Android系统提供了两种广播类型,一种是有序广播,一种是有序广播。 (1)无序广播是完全异步执行,发送广播时所有监听这个广播广播接收者都会收到此消息,但接收的顺序不确定。 (2)有序广播是按照接收者的优先级接收,只有一个广播接收者能接收信息,在此广播接收者中逻辑执行完毕后,才会继续传递。 实验要求:通过sendOrderedBroadeast()发送一条有序广播

小白一只 2929

广播接收者——案例:拦截有序广播

本次案例介绍的是有序广播有序广播是在广播发出之后,广播接收器会按照顺序接受广播消息,不能同时接受,相对于无序广播来说,无序广播是异步执行,效率高,但是无法拦截,有序广播虽然没有无序广播的效率高,但是可以拦截,实用效果大于无序广播。 下面是本次案例的代码: activity_main.xml: <RelativeLayout xmlns:android="http://schema

ruanjian_kj的博客 748

案例--拦截有序广播

1.创建一个名字为“拦截有序广播”的应用程序相应的布局文件(activity_main.xml)<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android

qq904069486的博客 736

android 有序广播例子,有序广播的实例解析--android案例《拦截有序广播

有序广播:使用有序广关健处在于定义接收者的优先权,以下代码中有三个类接收广播案例《拦截有序广播》1、布局文件上述布局文件,定义了一个button按钮,并且为按钮注册了一个onclick点击事件send,当用户点击该按钮时,会发送一条有序广播。2、编写MainActivitypackagebzu.edu.cn.orderdbroadcast;importandroid.content.Inte...

weixin_39796533的博客 413

有序广播的实例解析--android案例《拦截有序广播

有序广播: 使用有序广关健处在于定义接收者的优先权,以下代码中有三个类接收广播案例《拦截有序广播》 1、布局文件      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"         xmlns:tools="http://schemas.android.com/tool

AK_47_lee的博客 913

案例---拦截有序广播

一、功能描述: 实现拦截一条有序广播 二、技术要点: 通过sendOrderedBroadcast()方法发送一条有序广播 1、用户交互界面的设计与实现 2、界面交互代码的设计与实现 3、创建3个广播接受者 MyBroadcastReceiverOne.java MyBroadcastReceiverTwo.java MyBroadcastReceiverThree.java

ren_jingjing的博客 1095
上一篇: 案例-----新闻客户端
下一篇: 我的Android 第二次课
zray5433
博客等级 码龄10年 3粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值