`
sdkongkong
  • 浏览: 39252 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sticky broadcast 是什么

阅读更多
sticky 类型的广播会保存 上次广播的intent,  只要你注册到这个广播, 就可以直接获得上次的intent 。

  Perform a sendBroadcast(Intent) that is "sticky," meaning the Intent you are sending stays around after the broadcast is complete, so that others can quickly retrieve that data through the return value ofregisterReceiver(BroadcastReceiver, IntentFilter). In all other ways, this behaves the same as sendBroadcast(Intent).

You must hold the BROADCAST_STICKY permission in order to use this API. If you do not hold that permission,SecurityException will be thrown.

大概的意思是说: 发出的广播会一直滞留(等待),以便有人注册这则广播消息后能尽快的收到这条广播。其他功能与sendBroadcast相同。但是使用sendStickyBroadcast 发送广播需要获得BROADCAST_STICKY permission,如果没有这个permission则会抛出异常。

而有序类型的广播,则不会保存intent, 如果当时没得到intent,则以后也得不到。

①在AndroidManifest.xml中注册

在配置文件中注册的接收者的特点是即使应用程序已被关闭,该接收者依然可接受它感兴趣的广播,比如手机电池电量的广播接收者,没有必要将某个程序开启。下面的例子1、2广播接收者会接收到拨打电话的广播。

②在Activity中注册

在Activity中绑定接收者必须依附该应用程序存在,或者一个BroadcastReceiver用于更新UI,就没有必要再程序关闭时接收者还运行,故无需在AndroidManifest.xml中注册而可以放在Activity中注册。
这个时候好像只有activity在resume状态时才能收到广播

广播接收者的生命周期只有10秒左右,如果需要大处理,要放到service里面, 最好不要用子线程, 如果用子线程,当广播消失时,子线程也有可能消失。
分享到:
评论

相关推荐

    android发送stickyBroadcast

    android发送stickyBroadcast,两个receive之间的Broadcast

    sendStickyBroadcast

    发送方,sendStickyBroadcast

    最经典的sendBroadcast与sendStickyBroadcast的区别分析与讲解

    最经典的关于sendBroadcast与sendStickyBroadcast的区别分析与讲解

    android中的常用权限

    android.permission.BROADCAST_STICKY,允许一个程序收到广播后快速收到下一个广播 WAP PUSH广播 android.permission.BROADCAST_WAP_PUSH,WAP PUSH服务收到后触发一个广播 拨打电话 android.permission.CALL_...

    Android Studio开发(三)使用BroadcastReceiver实现音乐播放器

    Android Studio开发(三)使用BroadcastReceiver实现音乐... BroadcastReceiver发送3.1 普通广播(Normal Broadcast)3.2 有序广播(Ordered Broadcast)3.3 粘性广播(Sticky Broadcast)3.4 本地广播(Local Broadca

    Android实验六.doc

    发送广播消息的3中方法是什么? 1) onSendStaticBroadcast(View v); 2) onSendDynamicBroadcast(View v); 3) onSendStickyBroadcast(View v)。 得分(百分制) ----------------------- Android实验六全文共5页,...

    一款Android平台的LivaData的消息总线框架

    如果对 ElegantBus 的实现过程,以及考虑点感兴趣的可以看看前几节自吹如果只是想先使用的,可以跳过,直接到跳到使用说明和常见 LivaData 实现的 EventBus 比较消息总线使用反射入侵系统包名进程内 Sticky跨进程 ...

    Android代码-Torch

    android.permission.BROADCAST_STICKY QR Code Screenshots License Copyright (C) 2014 Damien Chazoule This program is free software: you can redistribute it and/or modify it under the terms of...

    phonegap 配置文件(android+eclipse+phonegap(cordova)配置项目 .)

    已经装eclipse,android sdk及adt的安装和配置。 1.进入eclipse界面,新建android工程 new > android ... <uses-permission android:name="android.permission.BROADCAST_STICKY" /> 到uses-sdk和application之间。

    使用指南:PhoneGap的CordovaWebView组件在Android原生项目中使用.

    使用指南:PhoneGap的CordovaWebView组件在Android原生项目中使用. 1.下载phonegap2.0, 1.1 从解压文件中“phonegap-phonegap-2dbbdab\... <uses-permission android:name="android.permission.BROADCAST_STICKY" />

    switch security.rar

    Sw1(config-if)#switchport port-security mac-address sticky 将动态学到的地址粘住,永久使用 Sw1#show port-security 可以看到哪些接口应用了端口安全 Sw1#show port-security address 可以看到授权的MAC地址 Sw...

    Distributed-Push-Server

    分布式推送服务器要求socket.io sticky-sessionclusterredis组件1. BasicHandler “ BasicHandler”是消息处理程序的基类,它提供onConnected(socket),onDisconnected(socket),onMessageRecieved(socket,...

    android百度地图

    <uses-permission android:name="android.permission.BROADCAST_STICKY" /> ------------------------------------------ android:name="com.baidu.lbsapi.API_KEY" android:value="dnvsXKdyZyiIevVHzawPUZj...

    UNIX Network Programming Volume 1, Third Edition (Unix网络编程卷1第3版英文版)

    Unix网络编程卷1,第三版,英文版。大名顶顶的Richard Stevens所写 目录: ... Addison-Wesley Professional Computing Series Foreword Preface Introduction Changes from the Second Edition ...

    CIS_Solaris_10_Benchmark_v5.0.0

    Table of Contents Table of Contents ....................................................................................................................................................

Global site tag (gtag.js) - Google Analytics