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);
}
Aber kehrt Lauf nur Servicename letzten Zeit nicht in Betrieb .. –
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
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. –