So erhalten Sie den Zeitraum, in dem eine Aktivität im Vordergrund stand, in Android. Für Ex. Wenn watsapp heute 1 Stunde benutzt wurde, war die watsapp programmatisch für eine Stunde aktiv.So erhalten Sie die Dauer einer aktiven Aktivität im Vordergrund unter Android
Antwort
Mit der App usage statistics API können App-Entwickler Statistiken zur Verwendung der Anwendungen erfassen. Diese API bietet detailliertere Informationen zur Verwendung als die veraltetegetRecentTasks(
) -Methode.
Um diese API zu verwenden, müssen Sie zuerst die android.permission.PACKAGE_USAGE_STATS
Berechtigung in Ihrem Manifest deklarieren. Der Benutzer muss den Zugriff für diese App auch über Settings > Security > Apps with usage access
aktivieren.
Um die Statistiken der App-Nutzung zu sammeln, müssen Sie zunächst die Instanz von UsageStatsManager durch den folgenden Code erhalten:
mUsageStatsManager = (UsageStatsManager) getActivity()
.getSystemService(Context.USAGE_STATS_SERVICE);
Dann können Sie die Statistiken der App-Nutzung durch die folgende Methode abrufen:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, -1);
List<UsageStats> queryUsageStats = mUsageStatsManager
.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, cal.getTimeInMillis(),
System.currentTimeMillis());
Das erste Argument der queryUsageStats()
wird für das Zeitintervall verwendet, in dem die Statistiken aggregiert werden. Das zweite und das dritte Argument werden verwendet, um den Anfang und das Ende des Bereichs der Statistiken anzugeben, die in den Ergebnissen enthalten sein sollen.
Hier finden Sie eine basic app code on GitHub, die zeigt, wie Sie mithilfe der App Usage Statistics API Statistiken zur Verwendung der Anwendungen erfassen können.
Anmerkung:android.app.usage
erforderlich API-Ebene 21 oder darüber.
Danke. Dieser Code hat wie ein Zauber funktioniert. – Aneez
Android haben ein eingebautes Tool namens "dumpsys".
Die meisten Funktionen sind für developers throw ADB, aber für Ihre Zwecke sollten Sie in UsageStatsManager graben, die Ihnen die Daten zur Verfügung stellt, die Sie über andere Anwendungen benötigen.
- 1. Eine Android-Aktivität aufzeichnen, während sie nicht im Vordergrund ist
- 2. So erhalten Sie aktuelle Aktivität von IME-Dienst in Android
- 3. So erhalten Sie die ausgewählte Aktivität im neu gehosteten WorkflowDesigner
- 4. So erhalten Sie die Hauptstartaktivität von einer anderen Aktivität?
- 5. Activity.showDialog, wenn Aktivität nicht im Vordergrund ist
- 6. So behandeln Sie die Brandmeldebenachrichtigung, wenn App im Vordergrund ist
- 7. So ermitteln Sie, ob eine meiner Aktivitäten im Vordergrund ist
- 8. So deklarieren Sie die Aktivität einer benutzerdefinierten Bibliothek im Manifest
- 9. So erhalten Sie den letzten aktiven Datensatz
- 10. So erhalten Sie Zugriff auf die aktiven RowDetails eines DataGrids
- 11. So erhalten Sie die Dauer des Songs in JPlayer
- 12. Wie erhalte ich die Activity-Instanz einer Android-App, die im Vordergrund läuft?
- 13. Erhalten Sie die Affinität einer SQLite-Spalte unter Android
- 14. Erhalten Sie die genaue Dauer eines Videos
- 15. Firebase Android Vordergrund/Hintergrund Fragen
- 16. Erhalten Sie Daten von einer anderen Aktivität
- 17. So finden Sie alle untergeordneten Steuerelemente in einer Aktivität (Android)
- 18. So vermeiden Sie, dass mein Vordergrund-Dienst im Akku-/Energiesparmodus auf Android M gestoppt wird
- 19. So erhalten Sie aktuelle Top-Aktivität Kontext
- 20. So erhalten Sie die Erweiterung einer Datei im Shell-Skript
- 21. Android So erhalten Sie die letzte fokussierte Aktivität nach "Force Stop" die Anwendung
- 22. So entfernen Sie globale Hintergrundfarbe von einer Aktivität Android
- 23. So ändern Sie die Hintergrundfarbe einer Aktivität über die Schaltfläche einer anderen Aktivität
- 24. So erhalten Sie die Aktivität, um Methoden zu erben
- 25. Android Diplay Fragment unter Aktivität
- 26. android Fragment-Aktivität unter Verwendung
- 27. So ändern Sie Android-Aktivität-Label
- 28. So erhalten Sie Benachrichtigungen auf iOS bei Änderung des Netzwerks im nicht aktiven Zustand
- 29. So fügen Sie die Symbolleiste unter Aktionsleiste - Android
- 30. Android-Aktivität im Dialogfeld
Verwenden Sie einen 'Timer' in' onStart() 'Methode. Stoppen Sie den Timer in 'onStop()' und speichern Sie die Zeit irgendwo. –