Java 创建不同的PendingEvent对象-请求代码与不同意图
在我的代码中,我使用getBroadcast()创建各种PendingEvent对象 我的应用程序需要表示几种不同类型的PendingEvents,因此,我使用不同的操作字符串(每个PendingEvent都是唯一的)创建底层意图 我的问题是-通过请求代码来区分未决的意图,或者坚持我现在所做的技术,有什么区别吗 例如: 我现在做的是:Java 创建不同的PendingEvent对象-请求代码与不同意图,java,android,android-intent,android-pendingintent,Java,Android,Android Intent,Android Pendingintent,在我的代码中,我使用getBroadcast()创建各种PendingEvent对象 我的应用程序需要表示几种不同类型的PendingEvents,因此,我使用不同的操作字符串(每个PendingEvent都是唯一的)创建底层意图 我的问题是-通过请求代码来区分未决的意图,或者坚持我现在所做的技术,有什么区别吗 例如: 我现在做的是: Intent intent = new Intent(Receiver.class); intent.setAction("unique.name.here");
Intent intent = new Intent(Receiver.class);
intent.setAction("unique.name.here");
PendingIntent.getBroadcast(this, 0, intent, flags);
其他技术:
Intent intent = new Intent(Receiver.class);
PendingIntnt.getBroadcast(this, uniqueId, intent, flags);
有什么理由让我选择一种技术而不是另一种吗?使用任何你想要的适合你的技术。有时您需要一个唯一的
pendingent
,但您不能使用唯一的操作,因为该操作用于其他目的(意图解析或其他任何目的)。对于匹配的意图对象,调用getBroadcast()时我是否返回相同的对象实例?不,您不会返回相同的对象实例。但是您会得到一个映射到同一pendingent
标记的对象pendingent
对象存储在ActivityManager
中,您得到的基本上是一个指向其中一个的“令牌”。对于匹配Intent
s,您将获得相同的“令牌”。