广播(有序)跨应用发送简单举例
2019独角兽企业重金招聘Python工程师标准>>>
效果图示例:
//负责发送广播的应用
1、布局只有一个发送广播按钮
2、在配置清单里添加权限(自定义)
代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.broadcast"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="21" /><!-- 自定义一个权限 --><permission android:name="com.example.permission.MyReceiver"/><uses-permission android:name="com.example.permission.MyReceiver"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>
</manifest>
3、MainActivity.java类
代码
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//发送广播按钮事件监听public void sendBroad(View view) {Intent intent = new Intent();//这里setAction中的action是别的应用接收本应用发送的广播的action(相当于暴露给其他应用的路径)intent.setAction("com.example.broadcast.MyReceiver");/** intent.putExtra("data", "无序广播发送的数据"); *sendBroadcast(intent);//发送*/// 有序广播的发送intent.putExtra("data", "有序广播发送的数据");// 有序广播发送的权限在配置清单里自定义(第二个参数)//发送广播的方法sendOrderedBroadcastsendOrderedBroadcast(intent, "com.example.permission.MyReceiver");}
}
==================================================
发送广播端做好后做另外应用的广播接收端(跨应用)
//另外的应用(广播接收者)有2个有序广播接收者 把接收到的结果打印到日志猫
//广播接收者类都要继承BroadCastReceiver类
4、在配置清单里静态注册2个广播接收者和添加权限(该权限是发送广播端自定义的权限)
配置清单代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.orderbroadcast"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="21" /><!-- 另外一个应用自定义的权限 --><uses-permission android:name="com.example.permission.MyReceiver"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><!-- priority有序广播范围是-1000到1000 数值越大优先权越高 --><receiver android:name=".OrderBroadOne"><intent-filter android:priority="1"><action android:name="com.example.broadcast.MyReceiver"/></intent-filter></receiver><receiver android:name=".OrderBroadTwo"><intent-filter android:priority="2"><action android:name="com.example.broadcast.MyReceiver"/></intent-filter></receiver></application>
</manifest>
5、配置清单配置好后编写源文件有2个类(2个有序广播接收者)一个OrderBroadOne.java类一个OrderBroadTwo.java类
OrderBroadOne.java类
代码
public class OrderBroadOne extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubString data = intent.getStringExtra("data");Log.i("data", "OrderBroadOne data = " + data);//把结果打印到日志猫}
}
OrderBroadTwo.java类
代码
public class OrderBroadTwo extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubString data = intent.getStringExtra("data");Log.i("data", "OrderBroadTwo data = " + data);//把结果打印到日志猫}
}
6、最后先运行广播接收者的应用(部署好广播接收者),在运行广播发送端发送广播 最后在日志猫查看打印信息
转载于:https://my.oschina.net/u/2542711/blog/617846
广播(有序)跨应用发送简单举例相关推荐
- Android深入四大组件(八)广播的注册、发送和接收过程
前言 我们接着来学习Android四大组件中的BroadcastReceiver,广播主要就是分为注册.接收和发送过程.建议阅读此文前请先阅读Android深入理解四大组件系列的文章,知识重复的部分, ...
- 广播(Broadcast)的简单用法
发送一条广播 发送广播的方法和启动Activity的方法是非常类似的.首先新建一个Intent对象,然后使用sendBroadcast().sendOrderedBroadcast()或者sendSt ...
- Android官方开发文档Training系列课程中文版:分享简单数据之发送简单数据给其它APP
原文地址:http://android.xsoftlab.net/training/building-content-sharing.html 引言 Android应用程序有一项伟大的事情就是它们有可 ...
- 广播(broadcast)的简单解析与实例运用
1.简单介绍 单播:数据包发送只有一个接收方 广播:数据包发送给局域网中的所有主机 组播(多播):数据包发送给局域网中的部分主机 注:只有用户数据报(使用UDP协议)套接字才能广播,一个套接字只能进行 ...
- 广播域---跨网段广播
1.广播域 广播域是网络中能接收任一台主机发出的广播帧的所有主机集合.也就是说,如果广播域内的其中一台主机发出一个广播帧,同一广播域内所有的其它主机都可以收到该广播帧. 2.广播域的计算 用主机的IP ...
- java发送简单邮件_Java程序实现发送简单文本邮件
/** * Java程序实现发送简单文本邮件 * * @author Administrator * */ public class SendTextMail { // 定义发件人地址 public ...
- 在交换机上,广播帧是如何发送的,
请问: 在交换机上,广播帧是如何发送的,若一个交换机的端口在令一个网段,是否能收到广播帧呢? 我是新手 转载于:https://blog.51cto.com/test2016/155379
- [转]bootstrapTable refresh 方法使用简单举例
原文地址:https://blog.csdn.net/lanyang123456/article/details/55805478 本文就bootstrapTable refresh 方法如何传递参数 ...
- JavaMail发送简单邮件
2019独角兽企业重金招聘Python工程师标准>>> package cn.jmail.test;import java.util.Properties;import javax. ...
最新文章
- Angular 4 依赖注入教程之一 依赖注入简介
- 【CVPR2020来啦】不容错过的29个教程Tutorial !(附Slides下载链接)
- Android 中文 API (93) —— BaseExpandableListAdapter
- 2018 - 待深入学习博客
- 搜索不包含关键词_新手教程!百度关键词规划师功能详解
- 鸟哥的Linux私房菜(基础篇)-第零章、计算机概论(零.2)
- PHP Curl多线程原理实例详解
- 8 线性表-循环队列-顺序存储
- zabbix3.4.4 监控系统安装部署
- 【记录】利用jar包制作docker镜像
- python 类 文件读写与模块
- 今日头条收购锤子?ofo 半月退 24 万户押金;斗鱼索赔主播 1.5 亿元 | 极客头条...
- 牛客OI周赛4-提高组 C 战争(war)
- myeclipse下加VSS版本控制插件
- GridView中如何取得隐藏列的值
- SQL语法整理(五)-视图
- 产品读书《缔造企鹅:产品经理是这样炼成的》
- 最新民间偏方大全,个人收集整理,绝对值得收藏
- Python版的BS期权定价模型和希腊值分析
- 帝国CMS对接百度小程序实现文章自动收录的方法