如何保存android通知并在重启时恢复它们

Posted

技术标签:

【中文标题】如何保存android通知并在重启时恢复它们【英文标题】:How to save android notifications and restore them on reboot 【发布时间】:2017-12-01 12:37:52 【问题描述】:

我的问题是,我在我的 android 设备上收到太多通知,并且经常在电池没电(关机)之前没有打开(阅读)所有通知。显然,这些剩余的通知会在此过程中丢失。

有没有办法通过使用后台服务来读取传入通知的(全部)数据。然后它可以使用该数据在以后的时间点重新发送(恢复)这些通知。

我的目标是捕获所有通知数据并将其存储到文件中。在设备启动时,该服务应根据该文件中的数据再次发送所有通知作为通知。

如果一个(已经保存的)通知已经被点击,它的条目应该从文件中删除。因此,应该只留下即将关闭之前的剩余通知。

【问题讨论】:

【参考方案1】:

您可以阅读其他应用程序的通知,当它们到达时,请按照此link 阅读使用NotificationListenerService 到达的所有通知,然后保存它们,然后使用响应 BOOT_COMPLETED_ACTION Intent 启动的服务。您可以阅读所有已保存的通知

【讨论】:

我已经准备好一个应用程序,它在后台运行一个通知侦听器服务来捕获所有通知。我的问题是我不认为我可以单独从那些捕获的“StatusBarNotification”对象再次发送通知。

以上是关于如何保存android通知并在重启时恢复它们的主要内容,如果未能解决你的问题,请参考以下文章

Android Exoplayer,在屏幕旋转时恢复视频

如何保存和恢复作为音频单元主机的音频单元状态

如何在写入文件时阻止对文件的访问,并在文件写入后恢复执行?

保存以编程方式为片段创建的视图并在 onresume 中恢复

Android处理运行时变更保存数据状态恢复Activity

如何保留 TControlCanvas 的所有属性并在以后恢复它们?