一、静态广播注册

MainActivity.java
public class MainActivity extends AppCompatActivity {@BindView(R.id.btn_send)Button mBtnSend;@BindView(R.id.btn_unregister)Button mBtnUnregister;@BindView(R.id.btn_register)Button mBtnRegister;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ButterKnife.bind(this);}@OnClick({R.id.btn_send})public void onViewClicked(View view) {switch (view.getId()) {case R.id.btn_send:Intent intent = new Intent();//注意setAction与AndroidManifest中的action对应intent.setAction("com.toly1994.aii_broadcastreceiver.StaticBR");intent.putExtra("msg" , "张风捷特烈");sendBroadcast(intent);break;}}
}
静态注册广播接受者:StaticBR.java
/*** 作者:张风捷特烈* 时间:2018/4/14:16:22* 邮箱:1981462002@qq.com* 说明:静态注册广播接受者*/
public class StaticBR extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {String msg = intent.getStringExtra("msg");ToastUtil.show(context, msg + "\n第一个简单广播创建成功!");}
}
静态注册:app/src/main/AndroidManifest.xml
<receiver android:name=".StaticBR"><intent-filter><action android:name="com.toly1994.aii_broadcastreceiver.MyBroadcastReceiver"/></intent-filter></receiver>

经测试,Android8.0无法收到静态广播,Android7.0可以法收到静态广播
静态注册一大好处是可以跨程序使用,A程序中的BroadcastReceiver可以在B程序中使用

Android8.0静态广播解决方案:intent.setComponent(new ComponentName(包全名,类全名))
intent.setComponent(new ComponentName("com.toly1994.aii_broadcastreceiver","com.toly1994.aii_broadcastreceiver.StaticBR"));

二、动态注册

在未注册之前,点击发送无效果,在注册后点击发送有效果,在注销之后点击无效果。
点击的三个核心代码见下。

动态注册广播.gif
注册方法:
IntentFilter filter = new IntentFilter();
filter.addAction("com.toly1994.aii_broadcastreceiver.register");
mReceiver = new StaticBR();
registerReceiver(mReceiver, filter);
发送方法:
Intent intent = new Intent();
//注意setAction与AndroidManifest中的action对应
intent.setAction("com.toly1994.aii_broadcastreceiver.register");
intent.putExtra("msg", "张风捷特烈");
sendBroadcast(intent);
注销方法:
if (mReceiver != null) {unregisterReceiver(mReceiver);mReceiver = null;
}
附录:布局文件:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"/><Buttonandroid:id="@+id/btn_send"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="16dp"android:layout_marginStart="16dp"android:layout_marginTop="16dp"android:text="发送广播"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><Buttonandroid:id="@+id/btn_unregister"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginEnd="16dp"android:layout_marginRight="16dp"android:layout_marginTop="16dp"android:text="注销广播"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintTop_toTopOf="parent"/><Buttonandroid:id="@+id/btn_register"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="16dp"android:text="注册广播"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/></android.support.constraint.ConstraintLayout>

后记、

1.声明:

[1]本文由张风捷特烈原创,转载请注明
[2]欢迎广大编程爱好者共同交流
[3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正
[4]你的喜欢与支持将是我最大的动力

2.连接传送门:

更多安卓技术欢迎访问:安卓技术栈
我的github地址:欢迎star
简书首发,腾讯云+社区同步更新
张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com

3.联系我

QQ:1981462002
邮箱:1981462002@qq.com
微信:zdl1994328

4.欢迎关注我的微信公众号,最新精彩文章,及时送达:
公众号.jpg

1-AII--BroadcastReceiver广播的静态注册与动态注册相关推荐

  1. android的动态注册,Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发...

    本文将带你了解Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发,希望本文对大家学Android有所帮助 BroadcastReceiver ...

  2. Oracle监听的静态注册和动态注册

    静态注册:通过解析listene.ora文件 动态注册:由PMON进程动态注册至监听中 在没有listener.ora配置文件的情况下,如果启动监听,则监听为动态注册.用图形化netca创建的监听,默 ...

  3. Oracle listener静态注册和动态注册(zt)

    曾经遇到一个问题,oracle10g里通过netca命令得到的listener.ora默认就是动态监听,但是默认没有设置instance_name和service_names参数.我一般是先启动db, ...

  4. java 动态加载jni_JNI静态注册与动态注册详解

    JNI注册,是指将java层方法(native关键字修饰的)和C层方法对应起来,以实现java层代码调用c层代码的目的.JNI注册分为静态注册和动态注册两种,静态注册是通过固定格式方法名进行关联,动态 ...

  5. NDK 开发之 JNI 方法静态注册与动态注册

    1 前言 上文说到,进行 NDK 开发的时候,我们首先需要把 Java 方法声明为 native,然后编写对应的 C/C++ 代码,并编译成为动态链接库,在调用 Java 方法前加载动态链接库即可调用 ...

  6. 你应该了解的JNI知识(一)——静态注册与动态注册

    最近一直在做native这边的跨平台开发,整个结构基本就是下图: 大体说来就是,底层C/C++代码.那么对于两端分别有不同的处理: 对于Android端而言,由于需要给Java端使用,因此需要提供JN ...

  7. JNI静态注册与动态注册

    导读 我们知道通过Java通过JNI可以调用C/C++代码,C/C++也可以通过JNI调用java代码,那么JNI是怎么将Java方法与Native的方法对应起来的呢? JVM查找Native方法有两 ...

  8. Android复习12【广播接收者-BroadcastReceiver(简单案例-发送广播、静态注册、动态注册、本地广播、代码示例(别处登陆踢用户下线)、常用系统广播总结、音乐播放器)】

    2020-04-28[11周-周二] 音乐播放器Android代码下载:https://wws.lanzous.com/ifqzihaxvij 目   录 简单案例-发送广播 2)动态注册实例(监听网 ...

  9. lsnrctl status区分静态注册与动态注册

    unknow:静态注册 ready或blocked:动态注册 a.如果先启动监听,后启动数据库 Service "PLSExtProc" has 1 instance(s).   ...

最新文章

  1. 轻松学习Ionic (二) 为Android项目集成Crosswalk(更新官方命令行工具)
  2. 每日一皮:传说中的三次握手...
  3. jQuery图片上传前先在本地预览(不经过后端处理)
  4. ALGO-117_蓝桥杯_算法训练_友好数
  5. 我的QT4.5编译流水帐(转帖)
  6. [问题解决] LaTex Error:Unknown graphics extension:.eps
  7. 释放变量所指向的内存_前端基础突破(二)内存回收与内存泄漏
  8. 在html中使用javascript注意事项
  9. springboot日志可视化_Springboot面试问题集锦
  10. python对城市规划_城市规划哪些环节可以可以用数据完美解决?
  11. 一文教你如何深入机器学习,从编程基础到完整的项目实战
  12. centos 6.8 配置csh的shell和环境变量
  13. 本模型基于Cruise软件搭建整车模型,基于Matlab/Simulink软件搭建整车控制模块,包括整车模式控制、扭矩分配
  14. mysql建用户注册登录表_登录注册数据库建立
  15. 2019-CS224n-Assignment1
  16. Guice依赖注入(Scope)
  17. 整车控制器(VCU,vehicle Controller Unit)
  18. 基于内容的图像检索引擎(以图搜图)
  19. 复习单片机:点亮LED(内含实物图+硬件设计+软件编程+原始代码)
  20. PDF转Word免费的软件有哪些?教给你三种转换方法

热门文章

  1. KVM复制虚拟机,KVM克隆虚拟机
  2. 10. OD-VC程序暴力破解
  3. Python面向对象基础:编码细节和注意事项
  4. Spring基础系列-参数校验
  5. There is no getter for property named 'XXX' in class 'aaa.bbb.ccc'(终极骚操作的解决方法)...
  6. Spring IOC BeanDefinition解析
  7. SQL Server使用 LEFT JOIN ON LIKE进行数据关联查询
  8. hadoop运行wordcount实例,hdfs简单操作
  9. html与js加载的顺序问题defer 代表延迟(加载完所有html在执行js)
  10. 网络时代:我只是一个用户