Android中广播类型可以分为2种,一种是系统的自动广播,比说说:电量偏低,网络状态改变,系统时间改变等等。另外一种是我们自己自定义的广播,这种就最常见了。

系统发送来的广播可以被我们自己的或是第三方的app接收到,这说明了广播是可以实现不同app之间通信的。这也是我个人认为广播没有界面和用户交互的好处。

现在写个小demo测试广播在不同app间通信:即在demo 02 中,发送广播,试试demo 03能否接收到。

demo 02的逻辑非常简单:就是自定义一个广播,并点击button发送出去:

MainActivity中的代码:

public class MainActivity extends Activity {

private Button mSendButton;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mSendButton = (Button) findViewById(R.id.btn_send);

mSendButton.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//点击的时候发送一条广播出去

Intent intent = new Intent("THIS_IS");

sendBroadcast(intent);

}

});

}

}

public class MyBroadcastReciver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

//处理收到广播的逻辑:

Toast.makeText(context, "广播来了", 0).show();

}

}

注意要在mainfest中配置下(其中我的action name起得也不规范,不过这里这样写的目的是看看对action name起名有没有什么特殊要求。推荐格式参照官方文档即可)。

intent-filter>

receiver>

当点击button之后,可以收到发来的广播,说明,广播可以实现app内部之间的通信。

现在来看广播在不同app之间的通信:

定义一个Demo 03, 注册一个广播接收者, 代码如下:

public class SecondBroadcaseReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

//处理手动广播的逻辑

Toast.makeText(context, "收到上个的广播", 0).show();

}

}

配置文件:

intent-filter>

receiver>

当点击第二个app的时候:

这里吐司显示就说明了Demo 02 在发送广播,Demo 03 收到广播之后吐司提示:收到了上个的广播,实现了Demo 02 和 Demo 03的通信。

android广播不同app,用广播(Broadcast)实现不同app之间的通信相关推荐

  1. Android系列之Fragment(三)----Fragment和Activity之间的通信(含接口回调)

    [正文] 一.接口回调的简单引入: 我们先来看一个简单的接口回调的例子: 新建一个Java工程,然后新建一个包.然后新建一个A.java文件: A.java代码如下: 1 package com.cn ...

  2. Android 7.0 ActivityManagerService(5) 广播(Broadcast)相关流程分析

    本篇博客旨在分析Android中广播相关的源码流程. 一.基础知识 广播(Broadcast)是一种Android组件间的通信方式. 从本质上来看,广播信息的载体是intent.在这种通信机制下,发送 ...

  3. Android开发(2) | 广播 Broadcast 的应用——强制下线功能

    文章目录 功能简介 关闭所有活动 登陆界面 发送强制下线的广播 广播接收器 AndroidManifest.xml 运行结果 功能简介 强制下线功能只需要弹出一个对话框,让用户只能点击确定按钮,回到登 ...

  4. Android安全问题 抢先接收广播 - 内因篇之广播接收器注册流程

    导读:本文说明系统是如何注册动态广播以及静态广播,这里主要注意其注册的顺序 这篇文章主要是针对我前两篇文章 android安全问题  抢先开机启动 - 结果篇 android安全问题  抢先拦截短信 ...

  5. Android应用程序注冊广播接收器(registerReceiver)的过程分析

    前面我们介绍了Android系统的广播机制,从本质来说,它是一种消息订阅/公布机制,因此,使用这样的消息驱动模型的第一步便是订阅消息:而对Android应用程序来说,订阅消息事实上就是注冊广播接收器, ...

  6. Android 第二十课 广播机制(大喇叭)----发送自定义广播(包括发送标准广播和发送有序广播)

    广播分为两种类型:标准广播和有序广播 我们来看一下具体这两者的具体区别: 1.发送标准广播 我们需要先定义一个广播接收器来准备接收此广播才行,否则也是白发. 新建一个MyBroadcastReceiv ...

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

    有序广播: 使用有序广关健处在于定义接收者的优先权,以下代码中有三个类接收广播, 案例<拦截有序广播> 1.布局文件 上述布局文件,定义了一个button按钮,并且为按钮注册了一个oncl ...

  8. android无法接收短信广播,Android BroadcastReceiver接收收到短信的广播

    一.知识介绍 1.broadcastReceiver是广播接受者,四大组件之一. 2.Android中内置了很多系统级别的广播,可以在应用程序中得到各种系统的状态信息. 3.使用场景: ①当手机没有电 ...

  9. android alarmmanager 收不到广播,android定时闹钟:Service+BroadcastReceiver+AlarmManager+NotificationManager...

    在开发android的过程中,需要一个定时提醒的功能,原本以为是一个很简单的功能,但是发现网上能找到的讲解或者代码都很或多或少地缺少一部分的设置和关键代码,所以我才注册了简书账户,分享一下. 在研究的 ...

最新文章

  1. 原生js自动完成 [转]
  2. 关于 IAR 环境的一些使用 琐记
  3. 三极管放大电路三种类型
  4. php判断同一天,PHP判断两个时间戳是否在同一周同一月等 - YangJunwei
  5. python面试题之有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
  6. 帆软实现单元格可编辑内容并保存
  7. DBA主宰一切请求,MySQL 查询重写
  8. 飞秋(FeiQ)常用问题解答,
  9. 万能打印之Delphi 2010实现(序言)
  10. linux 安装.gz文件,linux安装gz文件命令
  11. 使用jQuery美化英雄联盟
  12. java毕业设计投标文件在线制作系统mybatis+源码+调试部署+系统+数据库+lw
  13. 【Unity】射击小游戏
  14. MacBook Pro 15寸 Late 2013 更换2TB NVME硬盘利用Big Sur完美修复睡眠唤醒及开机时长问题
  15. win10玩武装突袭3一会就闪退的解决方法
  16. ssh远程出错Add correct host key in /home/xxx/.ssh/known_hosts to get rid of this message
  17. LLaMA模型文件 (搬运工)
  18. poj2421修建道路
  19. 计算机专业建设调研方案,计算机应用专业建设调研方案.doc
  20. python 年会抽奖小程序

热门文章

  1. vs code文件的打开和运行
  2. VS 杂项文件全面解决方法
  3. 华为和字节,终于被时代驱赶到了同一条赛道上
  4. UE4-第一课:开关门基础
  5. ppt转换成pdf转换器下载
  6. Nubia Z5S(高通公司MSM8974) QHSUSB_BULK砖的方法节省模式(随着win7在恢复recovery分区案例)...
  7. OSChina 周三乱弹 ——学哪种编程语言能保住一头秀发?
  8. 内功小知识 | 计算机里的涡轮增压 - CPU 睿频
  9. mysql连接校对_mysql字符集和校对规则(Mysql校对集)
  10. CIO访谈实录:英国电讯媒体集团首席信息官亨利·科恩