Android-无法使用NotificationCompat.Builder新构造函数(上下文,字符串)

时间:2018-10-26 19:38:15

标签: java android notifications


我正在更新一个应用程序,以添加对Android 8+的支持,我试图使该应用程序的Notifications正常运行(使用现在必需的Channels),但是由于某些原因,我不能使用新的NotificationCompat.Builder构造函数(上下文,字符串)。 我已经更新了buildToolsVersion(目前为 28.0.3 ),如here所示,但是我仍然无法使用新的构造函数。

//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 :(得分:0)

我发现了所发生的情况,发现build.gradle文件具有一个配置脚本,该脚本覆盖了我所有的 support 依赖版本以使用v25.3.0。删除该脚本后,导入了正确的库并解决了问题。

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