In meinem Fall ist keine der oben genannten Antworten noch die offizielle Dokumentation von Google hat mir geholfen, das Konzept der PendingIntent
Klasse.
Und dann habe ich dieses Video gefunden, Google I/O 2013, Jenseits des Blauen Punkts Sitzung . In diesem Video erklärt der Ex-Googler Jaikumar Ganesh, was PendingIntent
ist, und das war es, was mir das Gesamtbild der Sache vermittelte.
Nachfolgend nur die Transkription des obigen Videos ( ab 15:24 ).
Was ist also ein schwebender Vorsatz?
Es handelt sich um ein Token, das Ihr Anwendungsprozess an den Standortprozess weitergibt, und der Ortungsprozess wird ihn verwenden, um Ihre Anwendung aufzuwecken, wenn ein interessantes Ereignis eintritt . Das bedeutet im Grunde, dass Ihre App im Hintergrund nicht immer laufen muss. Wenn etwas Interessantes passiert, werden wir Sie aufwecken. Das spart eine Menge Akku.
Diese Erklärung wird durch den folgenden Codeschnipsel (der in der Folie der Sitzung enthalten ist) noch deutlicher.
PendingIntent mIntent = PendingIntent.getService(...);
mLocationClient.requestLocationUpdates(locationRequest, mIntent);
public void onHandleIntent(Intent intent) {
String action = intent.getAction();
if (ACTION_LOCATION.equals(action)) {
Location location = intent.getParcelableExtra(...)
}
}