2016-06-29 12 views
0

Ich entwickle eine Android-Anwendung, die einen Benutzer benachrichtigt, wenn Daten von einer meiner Aktivitäten ins Internet hochgeladen werden. Wenn der Benutzer die Anwendung über das Menü schließt ich umgesetzt haben, führen Sie I-Code, um die Benachrichtigungen entferne ich gesetzt haben:Wie kann die Benachrichtigung entfernt werden, wenn die Anwendung vom System beendet wird?

notificationManager.cancelAll(); 

Das Problem ist der Benutzer meine Anwendung über das Multitasking-Menü töten (desto wahrscheinlicher Weg quit) und der Code wird nicht ausgeführt.

Ich dachte über die onDestroy Methode reiten würde mein Problem lösen:

@Override 
public void onDestroy() 
{ 
    super.onDestroy(); 
    notificationManager.cancelAll(); 
} 

jedoch diese Methode scheint nicht jedes Mal, wenn die Anwendung aus dem Multi-Tasking-Menü verlassen wird aufgerufen werden.

Gibt es eine Möglichkeit, meine Benachrichtigungen zu entfernen, bevor das System meinen Prozess beendet?

Vielen Dank!

Antwort

1

Leider denke ich, besserer Weg, damit umzugehen, existiert nicht. System sollte aufrufen Methode onDestroy(), aber Sie haben keine Garantie, dass es tut.

onDestroy Android Reference

Es gibt Situationen, in denen das System einfach den Hostprozess Aktivität töten, ohne diese Methode aufrufen (oder alle anderen) darin.