Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建不同的PendingEvent对象-请求代码与不同意图_Java_Android_Android Intent_Android Pendingintent - Fatal编程技术网

Java 创建不同的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");

在我的代码中,我使用getBroadcast()创建各种PendingEvent对象

我的应用程序需要表示几种不同类型的PendingEvents,因此,我使用不同的操作字符串(每个PendingEvent都是唯一的)创建底层意图

我的问题是-通过请求代码来区分未决的意图,或者坚持我现在所做的技术,有什么区别吗

例如:

我现在做的是:

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,您将获得相同的“令牌”。