【发布时间】:2018-06-26 11:27:16
【问题描述】:
我正在尝试构建一个具有 -
的 Android 应用程序一个第一个活动(启动器活动)
还有一个第二个活动
我想要达到的目标:
First Activity 从用户获取输入,使用 AsyncTaskLoader 从 Web 获取数据。 在 onLoadFinished 中,它会检查输入是否有效,以及是否启动 Intent to Second Activity 以显示更多详细信息。输入也与 Intent 一起传递。
由于网络操作可能需要时间,所以我决定在创建第二个活动之前使用 IntentService 显示通知,即在 onLoadFinished 之前调用通知意图。如果第二个 Activity 尚未启动,则通知应直接启动它。
什么工作正常:
活动和加载程序都工作正常。通知也会显示,只要用户保持应用运行,一切都会按预期工作。
什么不是:
当用户在加载数据时离开第一个活动时,通知不会显示,因为 onPause 已执行。我尝试搜索它并了解了 BroadcastReceiver、JobScheduler 和 FirebaseJobDispatcher,但我无法真正理解它们以及它们如何提供帮助。
那么,我走对了吗?即使应用程序进入后台,我怎样才能实现相同的功能?
附:代码比问题建议的要大得多,所以我没有包括它。这就是为什么如果解释看起来不完整或混乱,我会尽力澄清你的疑问。
【问题讨论】:
标签: java android notifications background broadcastreceiver