626 Stimmen

Was ist ein Android PendingIntent?

Ich bin ein Neuling bei Android. Ich habe die Android-Dokumentation gelesen, aber ich brauche noch etwas mehr Klarheit. Kann mir jemand sagen, was genau ein PendingIntent ist?

2voto

akhilesh0707 Punkte 6115

Schwebende Absicht

Ein Pending Intent ist ein Wrapper um einen regulären Intent, der dazu dient von einer anderen Anwendung verwendet werden soll.

Sie gibt dieser anderen Anwendung die Möglichkeit, die enthaltenen Aktion auszuführen, als wäre es Ihre Anwendung mit allen Rechten, die Ihre Anwendung gewährt wurden

Wenn Sie einige Anwendungskomponenten wie Activity/Service/BroadcastReceiver zu einem späteren Zeitpunkt oder nach einem bestimmten Zeitintervall öffnen möchten, müssen Sie in diesem Fall PendingIntent senden. Es wirkt wie eine Erlaubnis, die Sie einer anderen Anwendung gegeben haben, um den Code Ihrer Anwendung nach einer gewissen Zeit in Ihrem Namen auszuführen. PendingIntent funktioniert also über Prozessgrenzen hinweg, z. B. wenn Sie einen AlarmManager benötigen, der eine andere Anwendung in einem anderen Prozess ist, dann führt der AlarmManager eine Aktion für Ihre durch PendingIntent angegebene Anwendung aus.

2voto

Prajwal Waingankar Punkte 2131

Ich bin auf PendingIntents in Notifications gestoßen. Hier ist also eine einfache Erklärung:

Wir wollen eine Absicht für eine Benachrichtigung bereitstellen, in diesem Fall wollen wir eine Aktivität öffnen, die eine Kameraaufnahmefunktion durchführt. Wenn wir hier einfach ein Intent übergeben, hat der NotificationManager diese Berechtigung nicht, obwohl meine App diese Berechtigung im Manifest angegeben hat; aus diesem Grund wird die Aktion nicht funktionieren, da der NotificationManager nicht die Berechtigung dazu hat.

Aber, wenn Sie PendingIntent verwenden, wird hier die Erlaubnis, die meine App haben, anstelle von NotificationManager verwendet werden. Daher, auch wenn NotificationManager nicht über Kamera Berechtigung und meine App hat es noch öffnen Sie die Aktivität und führen Sie die App.

HINWEIS: Für eine ausstehende Absicht muss zuerst eine reguläre Absicht eingerichtet werden.

1voto

Neimer Punkte 11

Pending Intent ist eine Absicht, die anderen Anwendungen die Erlaubnis erteilt, eine bestimmte Arbeit zu verrichten. Wenn die Hauptaktivität zerstört wird, nimmt Android OS ihr die Erlaubnis wieder ab.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X