2015-10-07 12 views
20

che sto cercando di fare i permessi di esecuzione compatibile con i dispositivi meno recenti, ma utilizzando la libreria di supporto i cant trovare checkSelfPermission() chiamata statica in ContextCompat di classe, ma il suo documentato hereContextCompat.checkSelfPermission Android() non trovato

Qui è il mio progetto impostazioni Gradle:

defaultConfig { 
    applicationId "org.myprogram.cool" 
    minSdkVersion 16 
    targetSdkVersion 23 
    versionCode 39 
    versionName "3.0" 
} 

ed ecco le dipendenze:

compile 'com.google.android.gms:play-services:+' 
compile 'com.squareup:otto:1.3.5' 
compile 'com.android.support:appcompat-v7:22.1.1' 

qualche idea di cosa mi manca?

risposta

35

checkSelfPermission() non è stato introdotto nella versione nativa Context fino all'API 23. Quindi sarà necessario utilizzare almeno la versione 23.0.0 della libreria di supporto.

si dovrebbe cambiare questo

compile 'com.android.support:appcompat-v7:22.1.1'

a questo

compile 'com.android.support:appcompat-v7:23.0.1'

+0

Ho provato questa cosa ma errore di compilazione come minSdkVersion 16! come risolvere questo? – Ashok

+0

Puoi pubblicare l'errore che hai ottenuto? – phxhawke

+0

si prega di prestare attenzione a questo comportamento quando il tuo minSdkVersion <23 https://stackoverflow.com/questions/33407250/checkselfpermission-method-is-not-working-in-targetsdkversion-22 – bvk256

4

Se è stata eseguita la migrazione da Eclipse aggiungendo la riga in basso non funzionerà

compile 'com.android.support:appcompat-v7:23.0.1' 

Durante la migrazione, io t aggiunge appcompatv4 come libreria dipendente esterna. Assicurarsi di aver eliminato la libreria appcompatv4 dalla cartella libs e quindi dovrebbe iniziare a funzionare

Problemi correlati