Код версии сборки O не распознается правильно - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть этот фрагмент кода для моих локальных уведомлений для работы на устройствах Oreo.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel(CHANNEL_ID, 
            CHANNEL_NAME,
            level);

    manager.createNotificationChannel(channel);
}

На моем рабочем столе с окном все в порядке, никаких проблем. Однако на моем macbook lint жалуется на NotificationChannel, требующий SDK 26, а мой минимум равен 21. Однако, если я изменю версию, проверю на

if (Build.VERSION.SDK_INT >= 26) 

ошибка исчезает. Я попытался перезапустить Android Studio, очистить / восстановить. Ничего не работает Когда я делаю проверку кода и использую предложенные подсказки, это изменяет Version_Code на 26. Это как-то беспокоит меня, заставляя меня действовать по-разному на моих 2 машинах, но с одинаковым точным кодом. Кто-нибудь еще видел эту проблему раньше?

compileSdkVersion = 26
buildToolsVersion = "26.0.2"

minSdkVersion = 21
targetSdkVersion = 26

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Oreo - это Android 8.
Вместо вашего кода используйте следующий код:

if (Build.VERSION.SDK_INT >= 26) {
    NotificationChannel channel = new NotificationChannel(CHANNEL_ID, 
            CHANNEL_NAME,
            level);
    manager.createNotificationChannel(channel);
}
0 голосов
/ 30 октября 2018

Та же проблема с Android Studio 3.2.1 после того, как я переключился со старого проекта на другой. Очень надоедливый. Я решил с этими шагами:

  • Удалить папку {projectDir} /. Idea / library *
  • Файл -> Синхронизировать проект с файлами Gradle
  • Файл -> Синхронизировать проект с файловой системой
...