当前位置:   article > 正文

Android开发—BroadcastReceiver(广播接收者)详解_安卓开发 broadcastreceiver

安卓开发 broadcastreceiver

一、BroadcastReceiver简介

BroadcastReceiver:广播接收者,用于监听来自系统或者应用程序的广播事件;
一个广播事件可以有多个对应的广播接收者处理。

Android中内置的广播:

  • 手机开机完成
  • 电池电量不足

二、BroadcastReceiver创建

实战:【拦截电话】

获取拦截号码:

// 创建SharedPreferences对象
        sp = getSharedPreferences("config", MODE_PRIVATE);
    }
    public void click(View view) {
// 获取用户输入的拦截号码
        String number = et_ipnumber.getText().toString().trim();
//创建Editor对象,保存用户输入的拦截号码
        SharedPreferences.Editor editor = sp.edit();
        editor.putString("number", number);
        editor.commit();
        Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

实现拦截:

//获取拨打的电话号码
        String outcallnumber = getResultData();
//创建SharedPreferences对象,获取拦截号码
        SharedPreferences sp =
                context.getSharedPreferences("config",Context.MODE_PRIVATE);
        String number =sp.getString("number","");
//判断是否是拦截电话号码
        if(outcallnumber.equals(number)){
//清除电话
            setResultData(null);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

加入权限后,运行程序,输入拦截号码,运行,发现号码一直出不来,模拟器直接自动重启:
这可能是拦截成功了,没有拦截成功是进入拨号界面,有一串数字且有通话时长。

在这里插入图片描述

附代码资源

三、自定义Broadcast

实战:【自定义广播】

发送一条自定义的广播,并创建广播类实现接收:

在manifest注册的Receiver中设置action
在这里插入图片描述
在onclick方法中,三步实现发送广播(这个send函数是在xml文件里设置的按钮的click)

  • 第一步:new一个intent
  • 第二步:setAction(这里的Action一定要和manifest中注册的action一样)
  • 第三步:sendBroadcast(这里就用sendBroadcast就够了)
    在这里插入图片描述
    运行截图:
    在这里插入图片描述

附代码资源

四、有序广播和无序广播

在这里插入图片描述

优先级

在manifest中设置优先级:
在这里插入图片描述
在MainActivity中设置优先级:
在这里插入图片描述

setComponent()、setPackage()

在这里插入图片描述
在这里插入图片描述
//掉setComponent,打开setPackage:
在这里插入图片描述
在这里插入图片描述

setComponent调用比setPackage()调用的优先级高\

在这里插入图片描述
在这里插入图片描述

附代码资源

拦截问题、 指定广播接收者

拦截广播接收者:
在这里插入图片描述
在这里插入图片描述
指定广播接收者:
在这里插入图片描述
在这里插入图片描述

附代码资源

接收多个广播与广播中传递数据

一个Receiver接收多个广播:
在这里插入图片描述
在这里插入图片描述
在广播中传递数据:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

附代码资源

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/472300
推荐阅读
相关标签
  

闽ICP备14008679号