我有我的本地通知的代码段,可以在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而我的min是21.但是如果我将版本检查更改为
if (Build.VERSION.SDK_INT >= 26)
错误消失了。我已经尝试重启Android studio,清理/重建。什么都行不通。当我进行代码检查并使用建议的提示时,它将Version_Code更改为26.有点困扰我让它在我的2台机器上行为不同但相同的代码。其他人以前见过这个问题吗?
compileSdkVersion = 26
buildToolsVersion = "26.0.2"
minSdkVersion = 21
targetSdkVersion = 26
答案 0 :(得分:0)
从旧项目切换到另一个项目后,android studio 3.2.1出现了同样的问题。很烦人。我通过以下步骤解决了问题:
答案 1 :(得分:0)
Oreo是Android8。
使用以下代码代替您的代码:
let newProblem = Object.assign({}, this.problem);
// change any nested property
newProblem.some.value = 1
// assign back the cloned and modified dictionary
this.problem = newProblem