Wie vergleicht Android ausstehende Absichten

Dokumentation für PendingIntent.FLAG_NO_CREATE lautet:

Flag gibt an, dass, wenn das beschriebene PendingIntent noch nicht vorhanden ist, einfach null zurückgegeben wird, anstatt es zu erstellen.

Meine Frage:Welche Kriterien werden zum Vergleichen von PendingIntents verwendet?

Ich vermute, unter der Haube dieser Flagge verwendet PendingIntent.equals, aber ich bin mir nicht sicher, welche Kriterien diese Funktion verwendet. Verwendet es die Aktion, den requestCode, die Kategorien, die Extras (ich vermute nein) usw.

Kontext

Ich möchte einen Alarm mit ausstehender Absicht starten, wenn mein Alarm noch nicht eingerichtet ist. Konkret folge ich diesemAntworte.

Intent i = new Intent(applicationContext, MyService.class);
i.setAction("myAction");
PendingIntent pi = PendingIntent.getService(applicationContext, /*requestCode*/0, i, PendingIntent.FLAG_NO_CREATE);
if (pi != null) {
  AlarmManager alarmMgr = (AlarmManager)applicationContext.getSystemService(Context.AlarmService);
  alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, AlarmManager.INTERVAL_HOUR, AlarmManager.INTERVAL_HOUR, pi);
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage