android的粘性广播,是指广播接收器一注册马上就能接收到广播的一种机制,当然首先系统要存在广播。而普通广播就是要先注册广播接收器,然后广播被发送到系统,广播接收器才能接收到广播。

所以他们的区别是:

粘性广播调用registerReceiver能马上接受广播,而普通广播不行。

对于粘性广播:

1.系统首先存在粘性广播

sendStickyBroadcast(Intent intent)

2.注册广播接收器

registerReceiver(BroadcastReceiver receiver, IntentFilter filter)

3.处理广播

public void onReceive(android.content.Context context, Intent intent) {

};

下面用一个例子展示下他们的区别

主Acitivity

package com.example.stickybroadcastdemo;

import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.Intent;

import android.content.IntentFilter;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener{

Button registerStickbt;

Button registerNormalbt;

TextView mTextView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

sendStickyBroadcast(new Intent("com.example.stickybroadcastdemo.stickybrocast")); //发送粘性广播

sendBroadcast(new Intent("com.example.stickybroadcastdemo.normalbrocast")); //发送普通广播

registerStickbt=(Button)findViewById(R.id.registerstick);

registerNormalbt=(Button)findViewById(R.id.registernormal);

mTextView=(TextView)findViewById(R.id.result);

registerStickbt.setOnClickListener(this);

registerNormalbt.setOnClickListener(this);

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

switch (v.getId()) {

case R.id.registerstick:

registerReceiver(stickreceiver, new IntentFilter("com.example.stickybroadcastdemo.stickybrocast")); //注册粘性广播接收器

break;

case R.id.registernormal:

registerReceiver(normalreceiver, new IntentFilter("com.example.stickybroadcastdemo.normalbrocast"));//注册普通广播接收器

break;

default:

break;

}

}

BroadcastReceiver stickreceiver=new BroadcastReceiver(){ //粘性广播接收器

public void onReceive(android.content.Context context, Intent intent) {

mTextView.setText("recevier stick broadcast!");

};

};

BroadcastReceiver normalreceiver=new BroadcastReceiver(){ //普通广播接收器

public void onReceive(android.content.Context context, Intent intent) {

mTextView.setText("recevier normal broadcast!");

};

};

}

布局

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.example.stickybroadcastdemo.MainActivity" >

android:id="@+id/registerstick"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:text="注册粘性广播" />

android:id="@+id/result"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/button1"

android:layout_centerHorizontal="true"

android:layout_marginTop="36dp"

android:text=""

android:textAppearance="?android:attr/textAppearanceLarge" />

android:id="@+id/registernormal"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/registerstick"

android:layout_below="@+id/registerstick"

android:layout_marginTop="17dp"

android:text="注册普通广播" />

布局有两个按钮,一个是注册粘性广播,一个是注册普通广播。点击注册粘性广播按钮会马上返回结果。而点击注册普通广播按钮则没有反应

Paste_Image.png

android粘性广播删除,android 广播机制(2) 粘性广播-Go语言中文社区相关推荐

  1. android打包成apk会屏蔽注解,Android解决混淆打包之后注解被去掉的问题-Go语言中文社区...

    一.实验环境(蓝色粗体字为特别注意内容) 1,环境:Eclipse+ADT 2,参考文献: 我们都知道Android中是通过findViewById()这个方法来绑定xml中的控件的.但是当控件较多时 ...

  2. android wifi连接流程,(九十三) Android O 连接WiFi AP流程梳理续——保存网络-Go语言中文社区...

    前言: 之前在(五十五)Android O 连接WiFi AP流程梳理 梳理连接流程梳理到SupplicantStaNetworkHal 然后没梳理的下去,现在继续梳理下. 之前梳理的时序图 1.流程 ...

  3. android openal播放器,用 Golang 开发 Android 应用(五)—— Audio(openAL)使用-Go语言中文社区...

    计划按以下的内容更新 Audio(openAL) 使用 Audio 是很重要的部分,但我之前漏掉它了,所以最初的计划里没有相关内容,发现这个漏网之鱼后,我"上下求(sou)索"&q ...

  4. android蓝牙锁,android 蓝牙锁应用实例开发(一) 简介-Go语言中文社区

    本人水平有限,文章中如果出现什么不正确或者模糊的地方,还请各位小伙伴留下评论,多多指教 : ) 前记 咳咳,这是小生第一次写博文,所记录的内容也是小生第一次所做的较为完整且复杂的一个项目.之所以写下来 ...

  5. android 运行jar包,android将so打到jar包中并运行-Go语言中文社区

    加载so有两种方法 System.load() 和System.loadLibrary(); 前者需传入库文件的绝对路径,后者只需传入库文件名. 首先我的jar包目录如下: Loader是加载类: s ...

  6. 管理学生信息android,Android 学生信息管理系统-Go语言中文社区

    android:layout_width="fill_parent"android:layout_height="wrap_content"android:gr ...

  7. android选择头像弹窗,Android App开发常用功能之用户头像选择-Go语言中文社区

    前言 现在的APP基本都有个人资料的填写,基本的都有头像的选择,支持拍照和从本地相册选择,剪切圆形头像的功能,现在用个小demo实现以下. 下面看一下效果图 上代码: 主界面代码 package co ...

  8. Android心电数据分析,Android SurfaceView+Canvas画脉搏/心电数据图-Go语言中文社区

    实际演示效果: Canvas 画图基本步骤: 1.布局添加一个SurfaceView<?xml version="1.0" encoding="utf-8" ...

  9. java adt简单开发,android java开发 第一天 之熟悉eclipse adt-Go语言中文社区

    1.下载并安装好android-sdk后(android-sdk里包含了android 1.6 ~ android4.0的所有api,支持各种版本的android) 2.下载adt(android d ...

  10. android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用-Go语言中文社区...

    在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...

最新文章

  1. jsp中空格字符怎么写_驰骋职场多年,如何对付Excel中的空格字符?
  2. R语言可视化包ggplot2绘制饼图(pie chart)实战
  3. [转帖]高档的moss页面修改工具SPCAMLEditor使用系列(1)--利用SPCAMLEditor,10分钟打造一个在线视频播放库...
  4. javascript设计模式_开发者都应该了解的7种JavaScript设计模式
  5. Js-parentNode、parentElement,childNodes、children 它们有什么区别呢?
  6. [归并][随机算法] JZOJ P3765 想法
  7. 蓝牙 sig base uuid_蓝牙模块采用陶瓷天线和PCB天线的区别
  8. 干货收藏!Python完整代码带你一文看懂抽样
  9. java 静态函数锁对象说明
  10. (源码)群体智能优化算法之社会蜘蛛算法(Social Spider Algorithm ,SSA)
  11. GATK RNA-Seq Snps Indel 分析
  12. android webview播放视频黑屏
  13. Unity渲染(四):Shader着色器基础入门之获取当前屏幕贴图
  14. 消息传输协议-MQTT篇-QoS
  15. switch 求分段函数
  16. python毕业设计 深度学习抽烟行为检测系统 - yolo opencv
  17. 服务器可以装win7或win10系统吗,win10改win7用legacy还是uefi?_网站服务器运行维护,window...
  18. 关于vscode中输入的中文变繁体的问题
  19. 社区发现算法原理与louvain源码解析
  20. 纪念我的第一个Python程序:猜数字

热门文章

  1. XGBoost如何画出树分裂图,用代码绘制多棵CART回归树
  2. DNA甲基化与组蛋白修饰之间的关系
  3. 打印程序在计算机上的应用程序,什么是“后台打印程序子系统应用程序”(spoolsv.exe),以及为什么它在我的电脑上运行?...
  4. 【工具】Alfred2.5.1使用全攻略!神一样的Mac app!(神一样的搜索)(推荐)
  5. 批量删除进程 mysql_linux 批量删除进程
  6. strut2 上传文件
  7. 使用Unity编写传统ARPG游戏的人物操作方式
  8. Asp.net MVC下载文件的四种方法以及下载ZIP文件的一种方法
  9. Unsafe code may only appear if compiling with /unsafe
  10. nc65右键生成菜单_NC常见问题处理