当前位置: 首页 > 知识库问答 >
问题:

Android系统,在一些变化上通知后台片段

岳正浩
2023-03-14

最好的做法是什么,以通知所有的片断,在一些变化的后备栈?

我尝试使用EventBus和每个片段订阅事件,然后当发生更改时,主活动向所有订阅者发送post事件。

只有onDestroy我取消订阅被破坏的片段。

我不喜欢这个解决方案,因为如果backbackback中有很多片段,它可能会同时占用大量的侦听器。

我的应用程序,有无限深入,从一个片段替换到另一个片段(并添加到backstack),您可以再次替换(并添加到backstack)等等。。。,没有尽头。

共有1个答案

曹臻
2023-03-14

一个可能的解决方案是将一些数据放入共享首选项中,并在恢复时读取片段onResume

或者您可以将这些信息放在其他部分,如配置服务器或外部服务

显然,如果这些片段都属于同一个活动,你可以将信息放入你的活动中,然后你可以从附加的活动中读取它。

用于远程获取数据

您可以将数据放入一个只负责保存数据的单例类中。请记住,在android中,在某些限制情况下,单例可能会被销毁,因此当您的片段返回前台时,请检查单例是否为空,并最终重复您的获取调用

你可以在这里看到一个例子

 类似资料:
  • 我尝试了以下各种组合: 在ap有效载荷中传递了一个空警报 一个空的声音通过ap有效载荷 content_available:真 内容可用: 1 优先级设置为高。我的目标功能在后台模式中启用了后台抓取和远程通知。 这是我的有效载荷的样子: 我一打开应用程序,通知就会进来,但不是在后台。 看起来是这样的: [AnyHasable("body"): NTCIP示例单元:现在显示WALNUT TREE(T

  • 根据Firebase文档: 我的问题是,当应用程序在后台时,通知系统不显示通知。 我没有使用Firebase控制台,因为我无法将数据添加到通知负载中。所以我使用了RESTful客户机API,但还是同样的问题。 请求:

  • 这三个系统都为应用提供了向用户发送通知的API。 Electron允许开发人员使用HTML5 Notification API快速发送通知,并通过当前系统的自带通知API来显示。 注意: 由于这是一个HTML5 API,因此它仅在渲染器进程中可用 1 let myNotification = new Notification('测试标题', { 2 body: '测试通知' 3 }) 4 ​ 5

  • 知识卡片 1.知识卡片类型 文本答案类型是由单纯的文本组成的答案,相对来说是比较简单的答案类型,相对于文本答案而言,系统提供图文答案、表单答案等核心答案 图文答案:图文答案类型是由图片和文本组成答案类型,相比较来说展现的形式比较美观,图片的存在让用户更容易接受此答案,并且一目了然。 表单答案:表单答案主要应用那些商品介绍,产品介绍型的多图多短文本的介绍, 简介、方便。 2.知识卡片配置方法 步骤一

  • 在我们的应用程序OneBusAway Android(Github上的开源)中,当用户拒绝特定的提醒通知时,我们需要收到通知,因此我们不会为同一事件发布另一个提醒通知(他们的总线到达前多长时间)。 我们通过在我们的应用程序中侦听来做到这一点,该注册为和。当用户拒绝通知时(通过将其滑动或点击通知窗口中的清除按钮),我们的应用程序应该会收到该。 通过测试,在Google Play上的当前版本(以及Gi

  • 我正在从google firebase为我的android应用程序发送推送通知,目标是Android5.0: 我的推送通知代码是: 但为什么?这就像当应用程序在后台时,通知不使用活动代码中的设置,而只使用AndroidManifest中的某种“默认”设置。