2014-12-21 12 views
10

Sto tentando di utilizzare UsageStatsManager con riferimento a this domanda SO. La mia linea di codice èImpossibile utilizzare getSystemService ("usagestats") Android Studio

UsageStatsManager usageStatsManager=(UsageStatsManager)context.getSystemService("usagestats"); 

Ho anche cercato di usare

UsageStatsManager usageStatsManager=(UsageStatsManager)context.getSystemService(Context.USAGE_STATS_SERVICE); 

Indipendentemente da quello che io uso Android Studio dice: "Deve essere uno dei: Context.POWER_SERVICE, Context.WINDOW_SERVICE ..."

Dopo molte ricerche sono venuto a sapere che Context.USAGE_STATS_SERVICE è nascosto, quindi devo aggiungere l'autorizzazione

<uses-permission 
    android:name="android.permission.PACKAGE_USAGE_STATS" 
    tools:ignore="ProtectedPermissions" /> 

Ma ancora, i risultati sono gli stessi. Cosa mi manca?

risposta

11

Deve essere una specie di bug in Android Studio. È possibile disattivare l'ispezione aggiungendo:

//noinspection ResourceType 
UsageStatsManager usageStatsManager=(UsageStatsManager)context.getSystemService("usagestats"); 
+0

funziona come un fascino! come lo sai? – jiashie

+1

Non è un bug in AS, 'Context' vuole che sia una delle costanti annotate con' @ ServiceName'. Quindi è un bug nel contesto. –

Problemi correlati