Android: UsageStatsManager gibt keine korrekten Tagesergebnisse zurück
Posted: 25 Jan 2025, 15:30
Ich versuche, Usagestats von usagestatsmanager abzufragen, um alle täglich verwendeten App -Pakete zurückzugeben. Der Code: < /strong> < /p>
Ich habe einen Alarm, der täglich kurz vor Mitternacht ausgelöst wird, die Nutzungsstatistiken abfragt und dann die zurückgegebenen Daten speichert. Zuerst schien alles gut zu funktionieren und ich erhielt Paketergebnisse und deren aktive Zeit. Ich habe jedoch eine Funktion hinzugefügt, die die Ergebnisse stündlich überprüft, und hier habe ich eine seltsame Entdeckung gemacht.
Die Ergebnisse von UsageStatsManagerschienen zu unterschiedlichen Zeiten zurückgesetzt zu werden, statt um Mitternacht, was ich erwartet hätte, wenn man bedenkt, dass ich INTERVAL_DAILY als Suchparameter verwendet habe.
Aus den Daten, die ich gespeichert habe, scheinen sich die Ergebnisse der Paket-„Zeit“ um (ungefähre Zeitangaben[/b]) zurückzusetzen:
Ich habe den folgenden Thread bereits gesehen und habe dort viele meiner Informationen erhalten:
Wie verwende ich UsageStatsManager?
Folglich:
Android UsageStatsManager erzeugt eine falsche Ausgabe?
In den Kommentaren wird erwähnt, dass die von queryUsageStats zurückgegebenen Daten nicht vertrauenswürdig und zufällig sind Ergebnisse werden erzielt zurückgegeben.
Übersehe ich etwas Einfaches oder funktioniert UsageStatsManager nicht richtig?
Code: Select all
public static List getUsageStatsList(Context context){
UsageStatsManager usm = getUsageStatsManager(context);
Calendar calendar = Calendar.getInstance();
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.DAY_OF_YEAR, -1);
long startTime = calendar.getTimeInMillis();
List usageStatsList = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY,startTime, endTime);
return usageStatsList;
}
Die Ergebnisse von UsageStatsManagerschienen zu unterschiedlichen Zeiten zurückgesetzt zu werden, statt um Mitternacht, was ich erwartet hätte, wenn man bedenkt, dass ich INTERVAL_DAILY als Suchparameter verwendet habe.
Aus den Daten, die ich gespeichert habe, scheinen sich die Ergebnisse der Paket-„Zeit“ um (ungefähre Zeitangaben[/b]) zurückzusetzen:
- 3 Uhr morgens
- Mittag
- 15 Uhr
- Mitternacht
Ich habe den folgenden Thread bereits gesehen und habe dort viele meiner Informationen erhalten:
Wie verwende ich UsageStatsManager?
Folglich:
Android UsageStatsManager erzeugt eine falsche Ausgabe?
In den Kommentaren wird erwähnt, dass die von queryUsageStats zurückgegebenen Daten nicht vertrauenswürdig und zufällig sind Ergebnisse werden erzielt zurückgegeben.
Übersehe ich etwas Einfaches oder funktioniert UsageStatsManager nicht richtig?