2016-05-23 11 views

Antwort

0

Ich denke, Sie können auch die Vordergrundanwendungen überwachen, zum Beispiel können Sie einen geplanten Dienst erstellen, der die Anwendungsliste prüft und den Status überprüft.

ActivityManager mgr = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningTaskInfo> allTasks = mgr.getRunningTasks(showLimit); 
/* each all applications */ 
for (ActivityManager.RunningTaskInfo aTask : allTasks) 
{     
    Log.i("MyApp", "Task: " + aTask.baseActivity.getClassName()); 

} 

können Sie gefunden documentation here über RunningTaskInfo Objekt.

possibile Monitoring-Service ist mit:

ActivityManager mgr = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningServiceInfo> allTasks = mgr.getRunningServices(showLimit); 
/* each all service */ 
for (ActivityManager.RunningServiceInfo aTask : allTasks) 
{ 
    Log.i("MyApp", "Task: " + aTask.activeSince); 

} 
+0

Aber kehrt Lauf nur Servicename letzten Zeit nicht in Betrieb .. –

+0

Es gibt keine bestimmte Art und Weise Laufzeit einer Anwendung zu überprüfen ist, possibile mit Dienstleistungen (siehe über). Eine Möglichkeit ist, Ihre Logik zu erstellen, ein benutzerdefinierter Dienst, der alle X Sekunden gestartet wird, wo Sie die geöffnete Anwendung überprüfen, aber es ist nicht genau – mcatta

+0

Ich bin nicht daran interessiert, sehr genaue Werte (in der Sekunde) zu haben. Minuten/Stunden würden genügen. Wie auch immer, wenn ich es mit einem benutzerdefinierten Dienst mache, der jeden, sagen wir, 3 Minuten überprüft, wäre das in der Telefonnutzungsgeschwindigkeit bemerkbar? Entschuldigung, wenn ich etwas Dummes frage, ist dies das erste Mal, dass ich eine Android App mache. –

Verwandte Themen