Die Android-Dokumentation beschreibt sowohl PendingIntent
als auch IntentSender
Klassen, aber es ist nicht klar, wann und warum Sie ein IntentSender
über einem PendingIntent
verwenden würden - in der Tat viel der Beschreibung scheint für beide identisch zu sein.
Die PendingIntent
-Dokumentation:
Eine Beschreibung einer Absichts- und Zielaktion, die damit ausgeführt werden soll. Instanzen dieser Klasse werden mit (...) erstellt; Das zurückgegebene Objekt kann anderen Anwendungen übergeben werden, damit sie die von Ihnen beschriebene Aktion zu einem späteren Zeitpunkt ausführen können.
Die IntentSender
-Dokumentation:
Eine Beschreibung einer Absichts- und Zielaktion, die damit ausgeführt werden soll. Das zurückgegebene Objekt kann an andere Anwendungen übergeben werden, damit diese die von Ihnen beschriebene Aktion zu einem späteren Zeitpunkt ausführen können.
Beide Klassen sind Parcelable
und beide Klassen erlauben dem Empfänger, die Aktion mit send
oder sendIntent
(mit fast identischen Signaturen) aufzurufen.
Da Sie ein vorhandenes PendingIntent
benötigen, um ein IntentSender
zu erstellen, in welcher Situation würden Sie jemals ein IntentSender
erstellen wollen und nicht nur Ihr PendingIntent
?
Hier ist eine kurze Zusammenfassung:
IntentSender
Ein IntentSender ist eine Instanz von android.content.IntentSender
Instanzen von IntentSender
können nicht direkt erstellt werden, aber eines kann von einer android.app.PendingIntent
-Instanz mit PendingIntent.getIntentSender()
abgerufen werden, da PendingIntent
eine IntentSender
einkapselt.
PendingIntent
A PendingIntent
ist ein Token, das Sie einer fremden Anwendung geben (z. B. AlarmManager
oder AppWidgetManager
). Dadurch kann die fremde Anwendung die Berechtigungen Ihrer Anwendung verwenden, um einen vordefinierten Code auszuführen.
Grundsätzlich kennt die fremde App, die PendingIntent
empfängt, den Inhalt der Absicht nicht, der von PendingIntent
umschlossen ist, aber die ausländische App sollte die Absicht an die Haupt-App zurücksenden, wenn die certai-Bedingungen erfüllt sind / p>
Tags und Links android android-pendingintent