android - Android:将通知 PendingIntent 保存到 Room DB
问题描述
我正在设置我的应用程序的一部分,它将接收推送通知并将它们保存到 Room 数据库中,以便以后可以在列表 UI 中显示它们。我希望通知仍然是可点击/可操作的,因此我需要保存它们的PendingIntent
,或某种 Intent,但这对于 Room 是不可能的。有没有办法可以在以后重新创建PendingIntent
?没有从 Android 的 API 中看到很多可用的选项.....如果只是PendingIntent
实现的话Serializable
。
解决方案
有没有办法可以在以后重新创建 PendingIntent ?
当然。以与您最初创建它的方式相同的方式创建它(例如,调用PendingIntent.getActivity()
.
如果您没有创建PendingIntent
,那么无论如何您都无法存储它。制作PendingIntent
作品的部分原因是了解创建它的应用程序。出于安全原因,这意味着PendingIntent
必须由该应用程序实际创建,而不是由其他应用程序(例如您的应用程序)创建。
推荐阅读
- redirect - 使用 https 形式将 aaa.com 重定向到 bbb.com 的 DNS
- xml - 如果在 XSD 中定义,则验证,否则 - 允许,但不验证
- amazon-web-services - AWS API Gateway 仅在使用 SAM 时支持 CORS for OPTIONS(没有 Lambda 代理集成)
- ios - 多个选定的行以在其他视图控制器中显示多个图像
- rest - RESTful 设计 - 子资源端点
- javascript - 在流星中检查时复选框不显示元素
- r - 在 igraph 中识别和量化集群类型
- r - ggplot2用日期注释构面错误
- sql-server - 如何将 geoJSON 坐标输入到 SQL Server 数据库?
- java - 来自按钮的 JavaFX 输入