Android - не могу использовать новый конструктор NotificationCompat.Builder (Context, String) - PullRequest
0 голосов
/ 26 октября 2018


Я обновляю приложение, чтобы добавить поддержку Android 8+, я пытался заставить уведомления приложения работать должным образом (используя необходимые теперь каналы), но по какой-то причине я не могу использовать новый конструктор NotificationCompat.Builder (Context Строка). Я уже обновил свой buildToolsVersion ( 28.0.3 на данный момент), как видно здесь , но я все еще не могу использовать новый конструктор.

//IDE won't let me use:
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "channelId");

//While this works fine:
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);

Есть идеи, почему это может происходить? Я уже пытался найти решение, но большинство из них просто говорят вам обновить buildToolsVersion.

Соответствующий код build.gradle:

android {
    compileSdkVersion 27
    buildToolsVersion '28.0.3'
    defaultConfig {
        ...
        minSdkVersion 16
        targetSdkVersion 27
        ...  
}  
dependencies {
    ...
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    ...
}

1 Ответ

0 голосов
/ 29 октября 2018

Я выяснил, что происходит, оказалось, что файл build.gradle содержал скрипт конфигурации, который переопределял все мои версии поддержки поддержки для использования v25.3.0. После удаления этого скрипта была импортирована правильная библиотека и проблема была решена.

//This script
...
if (requested.group == 'com.android.support') {
    if (!requested.name.startsWith("multidex")) {
        details.useVersion '25.3.0'
    }
}
...