2016-06-22 11 views
2

Ich versuche, alle laufenden Apps aufzulisten, aber ich weiß nicht, warum ich es nicht tun kann.Warum kann ich nicht alle laufenden Apps in Android programmatisch sehen?

Wenn ich versuche, den folgenden Befehl auszuführen, habe ich nur meine Anwendung zurückgegeben.

List<ActivityManager.RunningAppProcessInfo> listProcesses = manager.getRunningAppProcesses(); 

Viele Websites erzählen

List<ActivityManager.RunningTaskInfo> alltasks = am.getRunningTasks(Integer.MAX_VALUE); 

Aber auch meine Bewerbung nur zurück zu verwenden

Gibt es etwas, ohne root zu tun, alle Aufgaben/Prozess zum Laufen zu bringen?

+1

Dies funktioniert nicht bei neueren Versionen von Android. Ich glaube, Lollipop ab oder Marshmallow ab –

+0

Gibt es eine Umgehungslösung, um es ohne root zu tun? – Gorio

Antwort

1

Wie bereits erwähnt, getRunningTasks und getRunningAppProcesses werden nicht mehr unterstützt mit Android beginnend 5 (Lollipop)

Bei neueren Android-Versionen, müssen Sie den Benutzer fragen Sie App-Nutzungserlaubnis zu erteilen, und dann fragen UsageStatsManager für die Anwendungen laufen in einer bestimmten Zeitspanne.

https://developer.android.com/reference/android/app/usage/UsageStatsManager.html

Sie haben mehr Details hier:

How to use UsageStatsManager?

Hier ist ein Beispiel, wie UsageStatsManager abzufragen (Kredite an Cole Murray - in diesen Link gepostet) - https://github.com/ColeMurray/UsageStatsSample

+0

Ich fand diese Antwort, die mir funktioniert http://StackOverflow.com/A/32366476/2697368 aber ich werde versuchen, Ihre Lösung auch – Gorio

+0

UsageStatsManager meldet nach Woche, nicht Echtzeit wie OP will. –