Подтвердить что ты не робот

Android ContextCompat.checkSelfPermission() не найден

Я пытаюсь сделать разрешения во время выполнения обратно совместимыми со старыми устройствами, но используя библиотеку поддержки, я не могу найти статический вызов checkSelfPermission() в ContextCompat, но его документально подтвержденный здесь

Вот мой проект gradle:

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

и вот зависимости:

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

какая-нибудь идея, что мне не хватает?

4b9b3361

Ответ 1

checkSelfPermission() не вводился в native Context до API 23. Таким образом, вам нужно будет использовать хотя бы версию 23.0.0 библиотеки поддержки.

Вы должны изменить этот

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

к этому

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

Ответ 2

Если вы переместились из eclipse, добавив ниже, строка не работает

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

Во время миграции он добавляет appcompatv4 как внешнюю зависимую библиотеку. Убедитесь, что вы удалили библиотеку appcompatv4 из папки libs, а затем она должна начать работать