iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >BroadcastReceiver动态注册案例详解
  • 488
分享到

BroadcastReceiver动态注册案例详解

2024-04-02 19:04:59 488人浏览 独家记忆
摘要

BroadcastReceiver动态注册案例演示,供大家参考,具体内容如下 此案例共介绍2种动态注册广播接收器,为自定义广播接收器和系统广播接收器。当点击发送按钮后,将会弹出收到自

BroadcastReceiver动态注册案例演示,供大家参考,具体内容如下

此案例共介绍2种动态注册广播接收器,为自定义广播接收器和系统广播接收器。当点击发送按钮后,将会弹出收到自定义广播的提示;当打开或关闭飞行模式时,会出现飞行模式发生变化的提示。

效果图:

代码:

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private MyBroadcastReceiver receiver1;
    private NetReceiver receiver2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //1.动态注册自定义广播接收器
        receiver1 = new MyBroadcastReceiver();
        IntentFilter filter1 = new IntentFilter();
        //使用包名作为自定义广播action
        filter1.addAction("com.example.a01dynamicreGISter");
        registerReceiver(receiver1, filter1);

        //2.动态注册系统广播接收器
        receiver2 = new NetReceiver();
        IntentFilter filter2 = new IntentFilter();
        //添加切换飞行模式action
        filter2.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);//当飞行模式打开或关闭时,接收该广播
        registerReceiver(receiver2, filter2);

        //3.点击按钮发送自定义广播
        findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent("com.example.a01dynamicregister");//注意:自定义广播的发送和接受内容必须一直,否则接收不到
                sendBroadcast(intent);
            }
        });

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        //记得用完需要销毁广播接收器
        if (receiver1 != null) {
            unregisterReceiver(receiver1);
        }
        if (receiver2 != null) {
            unregisterReceiver(receiver2);
        }
    }
}


//接收自定义广播
class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        Toast.makeText(context, "收到自定义广播了~~action为:" + action, Toast.LENGTH_LONG).show();
    }
}

//接收系统广播
class NetReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(action)) {
            Toast.makeText(context, "飞行模式发生变化~~", Toast.LENGTH_LONG).show();
        }
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="Http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="发送自定义广播"/>
    
</LinearLayout>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: BroadcastReceiver动态注册案例详解

本文链接: https://www.lsjlt.com/news/166058.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • BroadcastReceiver动态注册案例详解
    BroadcastReceiver动态注册案例演示,供大家参考,具体内容如下 此案例共介绍2种动态注册广播接收器,为自定义广播接收器和系统广播接收器。当点击发送按钮后,将会弹出收到自...
    99+
    2024-04-02
  • BroadcastReceiver静态注册案例详解
    BroadcastReceiver静态注册案例演示,供大家参考,具体内容如下 静态注册与动态注册的区别: 动态注册:广播接收器可以自由的控制注册与取消,具有很大的灵活性。但只有在应用...
    99+
    2024-04-02
  • Android 使用registerReceiver注册BroadcastReceiver案例详解
    android.context.ContextWrapper.registerReceiver public Intent registerReceiver (Broadcast...
    99+
    2024-04-02
  • Android 动态注册监听网络变化实例详解
    Android 动态注册监听网络变化实例详解新建一个BroadcastTest项目,然后修改MainActivity中的代码,如下:public class MainActivity extends AppCompatActivity { ...
    99+
    2023-05-30
    android 动态注册 监听网络
  • C语言JNI的动态注册详解
    目录总结JNI的静态注册就是Javah生成头文件,本章第一篇已经讲过,现在我们来讲讲第二种方式,JNI动态注册。首先是module的build.gradle: android {...
    99+
    2024-04-02
  • oracle动态注册和静态注册监听器
         oracle动态注册和静态注册的区别:动态监听不需要在listener.ora文件中记录关于数据的任何信息,只需要将监听器的配置信息写入到该文件。例如:&n...
    99+
    2024-04-02
  • Oracle监听的静态注册和动态注册
    静态注册:通过解析listene.ora文件 动态注册:由PMON进程动态注册至监听中 在没有listener.ora配置文件的情况下,如果启动监听,则监听为动态注册。用图形化netca创建...
    99+
    2024-04-02
  • SpringBoot之通过BeanPostProcessor动态注入ID生成器案例详解
    在分布式系统中,我们会需要 ID 生成器的组件,这个组件可以实现帮助我们生成顺序的或者带业务含义的 ID。 目前有很多经典的 ID 生成方式,比如数据库自增列(自增主键或序列)、Sn...
    99+
    2024-04-02
  • Android notifyDataSetChanged() 动态更新ListView案例详解
    有时候我们需要修改已经生成的列表,添加或者修改数据,notifyDataSetChanged()可以在修改适配器绑定的数组后,不用重新刷新Activity,通知Activity更新L...
    99+
    2024-04-02
  • Java静态代理与动态代理案例详解
    代理模式 代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象...
    99+
    2024-04-02
  • Android registerForActivityResult动态申请权限案例详解
    前言 这几天在做一个小工具app,结果在fragment里面动态申请权限提示原有的申请方法已经弃用,还画了很明显的删除线。。。这叫一个强迫症的我怎么受得了。赶紧网上找资料也找不出什么...
    99+
    2024-04-02
  • SpringBean和Controller实现动态注册与注销过程详细讲解
    目录说明注册和注销工具类编写测试用例测试结果注册Service注册controller注销Controller部分场景下可能需要下载远程jar包,然后注册jar包中的Bean和Con...
    99+
    2023-02-09
    SpringBean动态注册与注销 SpringBean Controller注册与注销
  • Oracle DBA如何监听的静态注册与动态注册
    这篇文章主要介绍“Oracle DBA如何监听的静态注册与动态注册”,在日常操作中,相信很多人在Oracle DBA如何监听的静态注册与动态注册问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • C语言 动态分配数组案例详解
    目录一维动态数组的创建:二维数组的创建:很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个典型的例子,但是现在...
    99+
    2024-04-02
  • JavaScript实现动态生成表格案例详解
    目录前言实现思路实现代码 实现效果前言 在这里实现一个动态添加表格的案例,当点击添加按钮时,可以弹出一个表单,然后将输入的内容添加到表格中,也可以将表格中的整行内容清除。 实现思路 ...
    99+
    2024-04-02
  • 如何注册动态域名
    注册动态域名的方法:1、搜索注册动态域名的网站。2、进入网站并注册账号。3、登录网站后点击创建DNS解析并在下拉菜单栏中选择:动态域名设置。4、设置域名。5、将不固定的IP地址与域名捆绑起来即可。具体操作步骤:在浏览器中搜素并选择一个能注册...
    99+
    2024-04-02
  • Android中使用Receiver怎么实现动态注册与静态注册
    Android中使用Receiver怎么实现动态注册与静态注册?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。广播接收器注册一共有两种形式 : 静态注册和动态注册.两者及其接...
    99+
    2023-05-31
    android receiver roi
  • 怎么动态注册Bean到Spring
    这篇文章主要介绍了怎么动态注册Bean到Spring的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么动态注册Bean到Spring文章都会有所收获,下面我们一起来看看吧。1、理论一般如果想将类注册到sprin...
    99+
    2023-06-29
  • 认识Windows XP注册表及注册表实战案例
    1.概述  Windows XP注册表实际上是一个庞大的数据库,这个数据库记录了机器软硬件环境的各种信息,对操作系统及应用程序的正常运行至关重要。具体来讲,此数据库包含了Windows系统和应用程序的初始化信息、应用程序...
    99+
    2023-05-24
    注册表实战 实战 注册表 注册 Windows XP
  • JavaWeb:用户注册登录案例
    1.1 用户登录 1.1.1 需求分析 用户在登录页面输入用户名和密码,提交请求给LoginServlet在LoginServlet中接收请求和数据[用户名和密码]在LoginServlt中通过My...
    99+
    2023-09-26
    mybatis java mysql servlet maven
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作