【发布时间】:2018-02-10 04:21:05
【问题描述】:
经过大量搜索后,我仍然找不到解决问题的方法:
我需要一个每天运行一次的广播,无论应用程序是否正在运行。但是,如果应用程序正在运行,我还需要在广播结束/之后更新 UI。
我无法使用以编程方式注册的广播,因为它以应用生命周期结束。但是从静态清单注册的广播中,我无法访问 UI(至少我不知道如何)。 一种选择是拥有 2 个不同的广播并在 onPause 和 onResume 中取消/启动它们,但我想知道是否有更简单的解决方案?
【问题讨论】:
-
你不能每天运行一次
Service,而不是BroadcastReceiver吗? -
哎呀,我还没有研究服务,因为我是一个初学者,我被告知广播是我正在寻找的。我会立即查找服务。
-
看看here。否则 - 如前所述 - 看看服务。您可以绑定到服务以交换数据(查看@pskink 的答案)
-
您尝试注册到哪个广播意图?对于版本 O,Android 限制显式广播。您可能想在此处查看后台执行限制developer.android.com/guide/components/…