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

理解sendStickyBroadcast

 
阅读更多
抄录了关于sendStickyBoradcast()的相关理解.

关于sendStickyBoradcast(),SDK中的相关说明:
引用
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 of registerReceiver(BroadcastReceiver, IntentFilter). In all other ways, this behaves the same as sendBroadcast(Intent).

引用

These are broadcasts whose data is held by the system after being finished, so that clients can quickly retrieve that data without having to wait for the next broadcast.


上面的解释,不是特别好理解, 请看下面的解释.
One example of a sticky broadcast sent via the operating system is ACTION_BATTERY_CHANGED. When you call registerReceiver() for that action -- even with a null BroadcastReceiver -- you get the Intent that was last broadcast for that action. Hence, you can use this to find the state of the battery without necessarily registering for all future state changes in the battery.
Heres an abstract example of how one might use a sticky broadcast:

Intent intent = new Intent("some.custom.action");
intent.putExtra("some_boolean", true);
sendStickyBroadcast(intent);
If you are listening for this broadcast in an Activity that was frozen (onPause), you could miss the actual event. This allows you to check the broadcast after it was fired (onResume).

EDIT: More on sticky boradcasts...

Also check out removeStickyBroadcast(Intent), and on API Level 5 +, isInitialStickyBroadcast() for usage in the Receiver's onReceive.


资料来源:
http://stackoverflow.com/questions/3490913/what-is-a-sticky-intent-android
http://stackoverflow.com/questions/2584497/what-is-the-difference-between-sendstickybroadcast-and-sendbroadcast-in-android

一个小的知识点整理,希望大家有用.
分享到:
评论

相关推荐

    sendStickyBroadcast-receiver

    为了详细了解其中的实现,你需要解压这个文件,查看源码,理解BroadcastReceiver的注册、`sendStickyBroadcast()` 的调用时机以及流量监控的代码逻辑。 总的来说,这个项目涉及到Android的广播机制,特别是`...

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

    本文将对这两种广播机制进行深入分析和讲解,帮助开发者更好地理解和使用这两种广播机制。 SendBroadcast SendBroadcast 是一种普通的广播机制,它可以将广播 Intent 发送给所有注册的 BroadcastReceiver。当使用 ...

    sendBroadcast和sendStickyBroadcast的区别

    在Android系统中,广播(Broadcast)是组件间通信的一种重要方式。`sendBroadcast()` 和 `sendStickyBroadcast()` 都是用来发送广播的API,但它们...理解这两种广播的工作机制对于优化Android应用的组件通信至关重要。

    android broadcast实例

    理解并熟练掌握BroadcastReceiver的使用对于Android开发至关重要,它可以帮助我们实现跨组件通信,提升应用的交互性和响应性。在设计系统时,合理利用广播机制可以提高系统的灵活性和可扩展性。

    安卓简单广播发送器(课程设计)

    在这个“安卓简单广播发送器”的课程设计中,我们将深入理解广播接收器的工作原理以及如何创建一个简单的广播发送器。 首先,我们要明白广播的基本概念。在Android中,广播分为两种类型:有序广播(Ordered ...

    Android应用源码之broadcast1.zip

    其中,sendOrderedBroadcast()允许发送有序广播,sendStickyBroadcast()会保留最后一次发送的广播,直到有新的广播覆盖它。 5. **权限管理**:对于某些敏感的广播,如设备启动、网络状态改变等,发送方需要在...

    Android广播

    总之,Android广播机制是应用程序间通信的重要手段,理解并合理运用BroadcastReceiver可以帮助我们构建响应系统事件、实现跨应用通信的应用程序。通过深入学习和实践,开发者可以更有效地利用广播功能,提高应用的...

    Android广播实现代码

    `sendStickyBroadcast()`会将广播保留在系统中,直到有新的广播覆盖它。 ```java Intent intent = new Intent("com.example.ACTION"); sendBroadcast(intent); ``` 在"AndroidBroadcastDemo"项目中,你可能会看到...

    076集-粘滞广播

    在Android中,我们可以使用`sendStickyBroadcast()`方法来发送粘滞广播,而使用`registerReceiver()`注册的广播接收者可以通过`getStickyBroadcast()`来获取当前存在的粘滞广播。需要注意的是,由于粘滞广播可能会...

    20.广播事件处理(1).rar

    其中,sendOrderedBroadcast()允许接收者按照优先级顺序处理广播,而sendStickyBroadcast()会保留最后一次发送的广播,直到有新的广播覆盖它。 在实际应用中,需要注意广播的最佳实践。例如,避免在onReceive()方法...

    Android应用源码之20.广播事件处理(1).zip

    sendStickyBroadcast()会将广播保留在系统中,直到有新的广播覆盖或者被清除。 为了提高广播事件处理的灵活性,我们还可以使用IntentFilter来指定BroadcastReceiver关心的广播类型。IntentFilter可以设置ACTION...

    简单广播收发demo

    其中,sendOrderedBroadcast()允许接收者按顺序处理,sendStickyBroadcast()会保留最后发送的广播,直到有新的广播覆盖。 6. **IntentFilter与Action**: 在BroadcastReceiver中,通过IntentFilter指定感兴趣的...

    android 基本知识

    - 对于Broadcast Receiver,我们可以通过`Context.sendBroadcast()`、`Context.sendOrderedBroadcast()`或`Context.sendStickyBroadcast()`发送Intent,广播会被所有感兴趣且注册过的Broadcast Receiver接收。...

    广播的案例源码

    在Android系统中,广播是一种非常重要的组件,它用于在应用程序之间传递消息。广播接收者(BroadcastReceiver)是Android系统中的一个关键元素...提供的"广播的案例源码"可以作为进一步学习和理解广播机制的实践材料。

    广播的使用

    在Android系统中,广播(Broadcast)是一种非常重要的组件,它使得应用程序之间能够进行无须预先知道对方存在的通信。...本篇将详细介绍广播的...理解并熟练运用广播机制,能够有效地提升Android应用的交互性和灵活性。

    Android发送广播

    `sendStickyBroadcast()`会将广播保留在系统中,直到有新的广播覆盖它。 接收广播通常涉及创建BroadcastReceiver类: 1. **定义BroadcastReceiver**: 创建一个继承自BroadcastReceiver的类,并重写`onReceive()`...

    基于Android的中国象棋局域网博弈平台的设计与实现.pdf

    总的来说,这篇文章详细介绍了基于Android的中国象棋局域网博弈平台的设计思路和技术实现,涵盖了网络通信、多线程、广播机制和Socket编程等多个核心概念,对于理解和开发类似的Android应用程序具有很高的参考价值。

    发送stricky广播的demo

    在Android系统中,广播是一种轻量级的通信方式,用于在不同的组件之间传递消息。...在【demo2】这个文件中,很可能包含了具体的代码实现,你可以通过查看和运行这个示例来深入理解`StickyBroadcast`的工作原理。

    BroadcastReceiver的小案例

    sendStickyBroadcast()会将广播保存下来,直到有新的广播覆盖它,这对于需要持久化数据的场景非常有用。 在Android系统中,有很多内置的广播事件,如网络状态改变、电池电量变化等。开发者也可以自定义广播,通过...

    android的广播机制演示

    理解并熟练掌握Android的广播机制对于开发Android应用至关重要,因为广播不仅可以用于系统事件的响应,还能作为不同应用间通信的一种手段,提高应用的灵活性和扩展性。通过这个“android的广播机制演示”项目,...

Global site tag (gtag.js) - Google Analytics