gpt4 book ai didi

Android:确定是否收到广播

转载 作者:行者123 更新时间:2023-11-29 22:01:26 24 4
gpt4 key购买 nike

我正在开发一个讨论图片的聊天应用程序。当我收到一条 c2dm 消息时,有效负载包含该消息和一个 md5,它标识该消息所涉及的图片。当具有匹配 md5 的 ChatActivity 位于前台时,我只想播放声音。如果不是,我想在通知栏中添加一个通知。

这与 whatsapp 的行为相同。如何实现?

最佳答案

ChatActivity 注册一个 BroadcastReceiver 来接收 C2DM 消息,除了让您现有的 list 注册 BroadcastReceiver 来接收 C2DM 消息.让 registerReceiver() 中的 ChatActivity 使用的 IntentFiltersetPriority() 使用正值,因为默认为0。在onResume()onStart()中使用registerReceiver(),并使用unregisterReceiver()onPause()onStop() 中。

结果是,当 C2DM 消息到达时,如果您的 ChatActivity 在前台,由于优先级较高,它会首先收到消息。它可以检查消息是否与其图像有关。如果是,ChatActivityBroadcastReceiver 可以调用 abortBroadcast(),以防止您的标准优先级 list 注册接收器获取广播。因此,如果您的 list 注册接收器确实收到了广播,您就知道前台没有相关的ChatActivity,它可以引发Notification.

Here is a sample app这证明了大部分内容。广播来自应用程序本身,而不是 C2DM,但结构的其余部分几乎相同。

关于Android:确定是否收到广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com