正如前面的问题所建议的那样,我试图通过为每个用例设置单独的 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)