Kannst du verfolgen, wann eine Android-Anwendung beendet wurde?

8

Wir haben uns die Android-Dokumentation angesehen und es scheint, dass wir nicht wissen können, wann eine App heruntergefahren wird. Ob es explizit vom Benutzer oder automatisch vom Betriebssystem war.

Im Folgenden finden Sie die onTerminate() -Dokumentation , die nur verfügbar ist im emulierten Szenario.

%Vor%
  

Seit: API Level 1

     

Diese Methode wird im emulierten Prozess verwendet   Umgebungen. Es wird niemals auf einem Produktions-Android-Gerät aufgerufen werden,   wo Prozesse entfernt werden, indem sie einfach getötet werden; kein Benutzercode   (einschließlich dieses Rückrufs) wird dabei ausgeführt.

Hat jemand andere Ansätze, um zurück zu berichten, wenn der Benutzer die Anwendung schließt?

Wir müssen von einem Pilot / Usability-Standpunkt aus wissen, ob wir zusätzliche Funktionalität in unsere zukünftige Produktions-App integrieren müssen.

    
Evan Anger 29.09.2011, 17:47
quelle

3 Antworten

5

Nicht sicher, ob dir das weiterhilft ...

In meiner App verwende ich Activity.onDestroy () um die Reinigung zu machen, die ich brauche. Ich habe ein paar Aktivitäten - und habe onDestroy() in jedem von ihnen.

Das ist das nächste, was ich tun musste, was ich brauchte - und es funktioniert tatsächlich ziemlich gut.

    
Aleks G 29.09.2011, 17:55
quelle
3
  

Wir haben uns die Android-Dokumentation angesehen und es scheint, dass wir nicht wissen können, wann eine App heruntergefahren wird. Ob es explizit vom Benutzer oder automatisch vom Betriebssystem war.

Benutzer schließen Anwendungen auf Android nicht.

  

Hat jemand andere Ansätze, um einen Bericht zu erstellen, wenn der Benutzer die Anwendung schließt?

Benutzer schließen Anwendungen auf Android nicht.

Android verhält sich in dieser Hinsicht ähnlich wie ein Webbrowser. Benutzer schließen Webanwendungen in Webbrowsern nicht. Sie könnten den Browser schließen. Sie könnten einen Tab schließen. Sie könnten die Home-Taste drücken und zu einer anderen Site / App navigieren. Sie können ein Lesezeichen auswählen und zu einer anderen Website / App navigieren. Sie können ein Dokument in den Browser ziehen und anzeigen. Sie könnten auf ein Desktop-Symbol doppelklicken und es anzeigen. Und sie könnten auf einen "Abmelden" -Link in der aktuell angezeigten Website / App klicken. Jeder dieser Gründe führt dazu, dass der Benutzer die Website / App, in der er sich befindet, verlässt, aber keines davon würde so ausgelegt, dass die Website / App auf dieselbe Weise "geschlossen" wird wie das Klicken auf die Schließen-Schaltfläche in einem Desktop-Betriebssystemfenster als "Schließen" der Desktop-App.

Wie @Aleks G bemerkt, gibt es verschiedene Lebenszyklusmethoden, die Sie überschreiben können, um herauszufinden, was der Benutzer in Bezug auf eine Aktivität macht. onStop() zeigt an, dass etwas anderes die Vordergrundeingabe übernommen hat und Ihre aktuelle Aktivität nicht mehr sichtbar ist. onUserLeaveHint() gibt an, dass der Benutzer HOME gedrückt hat. Und so weiter. Aber das sind auf der Aktivitätsebene, nicht auf der Anwendungsebene.

    
CommonsWare 29.09.2011 18:00
quelle
0

Nehmen Sie eine BaseActivity-erweiternde Aktivität in Ihrer Anwendung vor und erweitern Sie diese BaseActivity anstelle von Activity. In dieser BaseActivity überschreiben Sie die onDestroy () -Methode. Wie

%Vor%     
Amit Pathak 04.08.2015 08:56
quelle