2017-03-01 3 views
0

So habe ich eine laufende Benachrichtigung, die ich nur entfernen möchte, wenn die Anwendung geschlossen wird. Ich habe die Benachrichtigung bei OnDestroy entfernt, als ich sie in einer Aktivität verwendet habe. Jetzt möchte ich es in einem Fragment verwenden, aber da die onDestroy-Methode nicht immer aufgerufen wird, entferne ich sie auf onStop. Wenn ich die Home-Taste drücke, wird die Benachrichtigung ausgeblendet. Wie kann ich das machen? (Ich habe auch versucht onDestroyView und das funktioniert auch nicht.)Entfernen Sie Benachrichtigung auf Fragment onStop()

Antwort

0

Anwendung geschlossen wird

gibt es kein Konzept der Schließung Anwendung wirklich auf Android.

aber da die onDestroy Methode

nicht immer, die tatsächlich in Ordnung genannt wird. Putting App im Hintergrund ist nicht äquivalent zu töten. Es gibt möglicherweise keine Notwendigkeit von Systemperspektive, um Ihren Code getötet/Müll gesammelt zu bekommen

Auch das Entfernen von Benachrichtigungen, wenn Benutzer Ihre App im Hintergrund stellt ziemlich bedeutet, dass diese Benachrichtigungen aus der Benutzerperspektive nutzlos sind.

onDestroy Methode ist nicht immer genannt entferne ich es auf OnStop

es Ihre Benachrichtigungen werden mit Fragmente eng gekoppelt an. Das ist eine schlechte Idee. Ich würde das Benachrichtigungshandling delegieren, wenn das Fragment und dann seine Sichtbarkeit verwalten (wenn das wirklich Sinn macht), um den Code auszulösen, d. H. Über den Code unter Verwendung von ActivityLifecycleCallbacks

Verwandte Themen