java - Android - 无法使用 NotificationCompat.Builder 新构造函数(上下文、字符串)
问题描述
我正在更新一个应用程序,以添加 Android 8+ 支持,我试图让应用程序通知正常工作(使用现在需要的通道),但由于某种原因我不能使用新的 NotificationCompat.Builder 构造函数(上下文, 细绳)。我已经更新了我的 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'
...
}
解决方案
我发现了发生了什么,原来 build.gradle 文件有一个配置脚本,它覆盖了我所有的支持依赖版本以使用 v25.3.0。删除该脚本后,导入了正确的库并解决了问题。
//This script
...
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
推荐阅读
- javascript - c#中等效的jquery location.pathname
- php - Laravel 或在哪里加入
- python - 如何根据索引、列名和单元格本身为每个单元格运行一个函数?
- python - 创建一个函数,它返回 n 位数和 x 的总和。优化问题
- sql - 如何选择属于一个组但不属于另一个组的项目
- cmake - 为什么 Bitbake 配方在错误的文件夹中寻找 lib?
- laravel - Laravel - 条件 where 子句
- julia - Julia中查找功能的替代选择以提高速度
- karate - 空手道:带有结果的呼叫功能并共享上下文
- python-3.x - openpyxl:从excel超链接openpyxl windows环境返回绝对路径