Android:如何延迟显示Push通知,然后调用API作为通知动作?

sr4lhrrt  于 2023-06-20  发布在  Android
关注(0)|答案(1)|浏览(111)

要求是,在接收到推送通知时,Android应用需要根据用户在应用中设置的定时延迟显示通知,然后在定时器窗口启动时触发推送通知。当用户点击推送通知时,应用需要进行另一个API调用以获取所有细节,然后显示给用户。
只是想知道如果上述是可能的Android或有任何操作系统的限制,将防止?我打算设置一个AlarmManager来延迟显示推送通知,但如果应用程序被强制关闭或设备被重新启动,它会起作用吗?谢谢

juzqafwq

juzqafwq1#

您绝对不能延迟推送通知及其操作。这是通过设计,它可以防止恶意应用行为。Google特别要求用户点击通知以触发其意图或操作。
话虽如此,你确实有几种方法来做你要求的事情,但这两种方法都有警告:

**选项一:**只发送数据推送,不发送完整推送。这些都是专门设计来绕过通知用户,所以当你的应用收到一个,它可以安排一个本地通知在任何时间和任何负载你想要的。缺点是,仅数据通知的优先级被降低,因此它们不会总是将您的应用从休眠/待机状态“唤醒”,因此您将不得不接受仅在操作系统计划的时间窗口内处理它们
选项2:推送进来后立即清除,然后安排本地通知。这几乎完全符合您的要求,但同样,Google真的不希望这种行为,因此操作系统将很快重新优先考虑您的应用程序待机桶津贴,您将回到与选项1相同的问题。这里唯一的优点是,在配额减少之前,您将有一些通知实际上会被优先处理,但缺点是,在您清除它之前,用户总是会看到几秒钟的“临时”通知,然后将其作为本地通知重新发送

相关问题