2016-07-13 6 views
1

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.

Antwort

0

Für Android 6.0.1 müssen Sie Ihren Code neu konfigurieren, damit das Android Permissions Framework für Ihre App funktioniert.

Sie können diesen Link beziehen, um weitere Informationen dazu zu erhalten. Android Permissions Development for Android 6.0.1 (Marshmallow)

+0

Danke Shadab .. !! Das war wirklich informativ. Aber auch nach dem manuellen Genehmigen in 6.0.1 hat UsageStatsManager nicht funktioniert. – Avanthi

+0

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

Verwandte Themen