workManager、alarmManager 与 fcm 用于计划通知

问题描述 投票:0回答:1

我有一个用例:

我们有关于用户用药的信息,例如什么时间、什么剂量和什么药物,

我们需要通知用户他们必须接受它。

目前,我已经尝试过 workmanager ,如果应用程序被杀死,我也会被杀死, 我尝试了alarmManager,在打瞌睡模式下不起作用(高优先级),

我有另一个解决方案,我使用带有nodecron的node.js服务器来发出诸如1,2,12,4(小时)之类的主题,客户端应用程序检查用户在x小时是否有任何药物并订阅x topic ,那么如果我们在 x 小时发出 x 主题的 fcm 请求,我们将收到通知。

但后一个要求我们假设应用程序始终连接到互联网。

我们正在为黑客马拉松构建这个应用程序?我该怎么办?

我应该考虑一个小部件或类似的东西吗?请告诉我可能的解决方案 谢谢

android firebase-cloud-messaging alarmmanager android-workmanager android-doze
1个回答
0
投票

我尝试了alarmManager,在打瞌睡模式下不起作用(高优先级),

根据打瞌睡模式限制的文档https://developer.android.com/training/monitoring-device-state/doze-standby#restrictions有可能在打瞌睡时启动警报:

如果您需要设置在打瞌睡时触发的警报,请使用 setAndAllowWhileIdle() 或 setExactAndAllowWhileIdle()。

即使系统处于低功耗空闲状态(打瞌睡模式),该警报也将被允许执行。

为什么报警管理器不能满足您的需求?

另外,为了进行测试,我建议您设置adb

您可以轻松地将设备置于空闲模式:

adb shell dumpsys deviceidle 强制空闲

并像这样退出空闲模式:

adb shell dumpsys deviceidle 取消强制

© www.soinside.com 2019 - 2024. All rights reserved.