Zum entfernen aller Benachrichtigungen, wenn eine android-app (Aktivität oder service) getötet wird?

Ich habe eine app mit einer Aktivität und einem Vorsatz-Dienst im hintergrund ausgeführt.

Außerdem gibt es eine notification die zeigt eine Statusleiste mit dem Fortschritt des hintergrund-Prozesses (es ist das herunterladen einer Menge von Dateien von einem server).

Die Aktivität hows der download-Fortschritt ( kann vom Benutzer nicht sinnvoll verwenden Sie die app, bevor diese Vermögenswerte werden heruntergeladen). Wenn diese Aktivität ist geschlossen, die Meldung mit den Fortschrittsbalken angezeigt wird.

Mein Problem: Bei der Anwendung getötet wird über den "task-manager" (erreichbar über die Rechte Taste auf android 4.0, das mit den beiden Rechtecken), die Meldung ist immer noch da. Aber es ist im Grunde ein zombie, weil der Dienst, der verwendet, um es zu aktualisieren, ist tot.

Anders gefragt: Wie kann ich entfernen (oder alle) Meldung(en), wenn meine Anwendung ist getötet?

  • Sie können überprüfen, ob onDestroy genannt wird, in den Dienst
  • Das habe ich versucht, aber leider onDestroy wird nicht aufgerufen, wenn die app getötet wird.
  • Ich nehme an, die Meldung Absicht ist die Haupttätigkeit?
  • Ja, Sie können davon ausgehen also. Wenn die Benachrichtigung geklickt wird, wird die Aktivität gestartet wird.
  • Dann würde ich sagen, dass die Benachrichtigung bleibt relativ relevant. (außer es gibt die falsche Vorstellung, dass der download noch läuft.)
  • Ja, das problem ist, es gibt eine Fortschrittsanzeige, aber keine Fortschritte mehr Los ist. Und da war ich nicht in der Lage, zu entfernen oder zu aktualisieren diese Meldung, dies würde dem Benutzer den falschen Eindruck.

Schreibe einen Kommentar