正如前面的问题所建议的那样,我试图通过为每个用例设置单独的 requestCode 来区分 PendingIntent 的不同实例。
这是一个强大的解决方案吗?即使javadocs仍然说它“当前未使用”,是否始终支持 requestCode?
是的。requestCode
一直都在。除了作为PendingIntent
匹配测试的一部分之外,Android 框架目前不使用它来做任何事情。用于requestCode
确定不同PendingIntent
的 s 是稳健且受支持的。文档甚至这样说:
PendingIntent
同时激活多个不同的对象(例如用作同时显示的两个通知),那么您需要确保它们有所不同,以便将它们与不同的 PendingIntents 关联. 这可能是Intent
由 考虑的任何属性,或提供给、、Intent.filterEquals
或的不同请求代码整数。getActivity(Context, int, Intent, int)
getActivities(Context, int, Intent[], int)
getBroadcast(Context, int, Intent, int)
getService(Context, int, Intent, int)