我正在更新一个应用程序,以添加对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'
...
}
答案 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'
}
}