gpt4 book ai didi

android - 检查 fragment 是否在服务中可见

转载 作者:行者123 更新时间:2023-11-29 20:28:00 26 4
gpt4 key购买 nike

我有一个用于消息传递应用程序的 GCMListenerService(Google Cloud Messaging)。当我收到 onMessageRecieved() 消息时,我需要能够检查特定 fragment 是否对用户可见。如果是,那么我可以向该 fragment 发送广播以更新 UI,否则我需要创建通知。任何想法我怎么能做到这一点。我知道 fragment (甚至 Activity )可能未打开,这正是我必须在尝试发送广播之前进行检查的原因,有什么想法吗?我可以将 Activity 内容传递给服务以便调用 getFragmentManager() 吗?

最佳答案

我认为可靠的方法是从其可见性的 fragment 中通知服务,例如使用 EventBus或 IBinder 实现(如果服务在与 fragment 不同的进程中运行,EventBus 将无法工作)。只需在 fragment 恢复时向服务发送一条消息,并在 fragment 暂停时发送另一条消息,并相应地在服务中设置一些标志,指示它是应该发布通知还是发送广播。

关于android - 检查 fragment 是否在服务中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32309726/

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