【问题标题】:Has requestCode in PendingIntent always been supported?是否始终支持 PendingIntent 中的 requestCode?
【发布时间】:2012-09-08 19:22:23
【问题描述】:

我试图通过为每个用例设置单独的 requestCode 来区分 PendingIntent 的不同实例,正如 this 之前的问题所建议的那样。

这是一个强大的解决方案吗?即使javadocs 仍然说它“当前未使用”,是否始终支持 requestCode?​​p>

【问题讨论】:

    标签: android android-pendingintent


    【解决方案1】:

    是的。 requestCode 一直都在。 Android 框架目前不使用它来执行任何操作除了作为PendingIntent 匹配测试的一部分。使用requestCode 来确定不同的PendingIntents 是稳健且受支持的。 documentation 甚至这么说:

    • 如果您确实需要同时激活多个不同的PendingIntent 对象(例如用作同时显示的两个通知),那么您需要确保它们有一些不同之处将它们与不同的 PendingIntent 相关联。这可能是Intent.filterEquals 考虑的任何Intent 属性,或提供给getActivity(Context, int, Intent, int)getActivities(Context, int, Intent[], int)getBroadcast(Context, int, Intent, int)getService(Context, int, Intent, int)不同的请求代码整数

    【讨论】:

    • 我有一个 RecyclerView 卡片视图列表。每张卡都有一个未来的到期日。数据库为每张卡存储一个长的 24 小时提醒通知(“N.”)、一个 20 分钟提醒 N.和一个“现在到期”N.。我为每个 N 使用不同的计数器将唯一的 requestCodes 设置为 ID。示例有 3 个不同的卡。从现在起 25 小时后,25 分钟后 1 次,5 分钟后 1 次。通知每次触发,但“Due now” N. 正在删除“20-minute” N. 而 20-Min 正在删除 24-Hour N.,就好像我只有一张卡一样。我应该看到 3 个不同的 N。关于如何修复的任何想法?
    • @AJW 请为此提出问题。在对我的回答的评论中隐藏您的问题并不是获得帮助的最佳方式。
    猜你喜欢
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2019-08-05
    相关资源
    最近更新 更多