Der Code unten bis fein gearbeitet Version 6,0Holen Sie sich die Vordergrund-App in Android 6.0.1. UsageStatsManager.queryusagestats gibt leere Liste in Version 6.0.1
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
long currentTime = System.currentTimeMillis();
List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, currentTime - 100 * 1000, currentTime);
if(stats != null) {
long lastUsedAppTime = 0;
for (UsageStats usageStats : stats) {
if (usageStats.getLastTimeUsed() > lastUsedAppTime) {
String foregroundApp = usageStats.getPackageName();
lastUsedAppTime = usageStats.getLastTimeUsed();
}
}
}
}
Nun ist die queryUsageStats leere Liste zurück.
Gibt es eine andere Möglichkeit, die Vordergrund-App zu bekommen?
Hinweis: Hinzugefügt wurde die unten als Gast usagestats
<uses-permission xmlns:tools="http://schemas.android.com/tools"
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
Vielen Dank im Voraus abzurufen.
Danke Shadab .. !! Das war wirklich informativ. Aber auch nach dem manuellen Genehmigen in 6.0.1 hat UsageStatsManager nicht funktioniert. – Avanthi
Ich habe auf Accessibility-Dienst verschoben und TYPE_WINDOW_CHANGED verwendet, um die Vordergrund-App zu erhalten, die versionsunabhängig ist. Für den Moment kann ich mir diese Lösung selbst vorstellen. Bitte lassen Sie mich wissen, ob es andere Möglichkeiten gibt. – Avanthi