Android Studio中NotificationChannel报"Must be one of"错误是否为IDE Bug?
关于Android Studio 3.0.1中NotificationChannel常量的误报问题
我之前也碰到过一模一样的情况!这确实是Android Studio 3.0.x版本的已知Bug,不是你的代码有问题,不少开发者都反馈过这个静态检查误报的情况。
为什么会出现这个错误?
虽然你的编译配置已经设置了CompileSDKVersion=26和TargetSDKVersion=26,而且你引用的确实是android.app.NotificationManager.IMPORTANCE_HIGH、IMPORTANCE_LOW这类官方指定的合法常量,但Android Studio 3.0.x版本的静态代码检查器出现了识别异常,错误地把这些有效常量判定为不符合要求的值。
可以怎么处理?
- 临时屏蔽误报:正如你所说,可以在代码上添加
@SuppressLint("WrongConstant")注解,让编辑器忽略这个错误提示,不影响编译和运行。 - 彻底修复:升级Android Studio到3.1及以上版本,这个Bug在后续的版本更新中已经被官方修复了。
- 临时缓解:如果暂时不想升级AS,可以尝试清理项目缓存(路径:
File -> Invalidate Caches / Restart...),部分情况下能消除这个误报。
另外要放心,这个只是编辑器的静态检查错误,你的代码逻辑是完全正确的,实际运行时不会出现异常。
内容的提问来源于stack exchange,提问作者chrisonline
相关产品推荐
相关产品推荐

