【问题标题】:Warning "Must be one of" - NotificationManager.IMPORTANCE警告“必须是其中之一” - NotificationManager.IMPORTANCE
【发布时间】:2018-06-16 07:07:35
【问题描述】:

在 Android Studio 中,new NotificationChannel() 出现错误:

必须是以下之一:android.app.NotificationManager.IMPORTANCE_HIGH、android app.NotificationManager.IMPORTANCE_LOW、...

但我完全引用了这个。
所以这似乎是 Android Studio 中的一个错误。
有人有同样的问题吗?

示例:

我知道我可以添加一个@Suppress 注释,但我想澄清它是否是一个错误。

CompileSDKVersion: 26
TargetSDKVersion: 26
Android Studio 版本: 3.0.1

我的导入:

【问题讨论】:

  • 我无法重现这个。你的目标和编译sdk版本是什么?
  • 编译:26,目标 26,android studio 3.0.1
  • 您确定从android.app 包中导入了NotificationManager 类?它是否适用于其他 IMPORTANCE_* 值?
  • 同样的问题在这里使用NotificationManager.IMPORTANCE_DEFAULT,但仍然给出红色下划线
  • 对于那些对其损坏原因不太感兴趣的人,请使用@SuppressLint("WrongConstant") 让它消失。

标签: android android-studio android-studio-3.0 android-lint


【解决方案1】:

有一个bug reported in Android issue tracker 关于这个。

尚未对此进行详细研究(目前此计算机上没有 Android 工具),但这可能与 @Importance IntDef is annotated with @hide 的事实有关,因此未包含在 SDK 中。

【讨论】:

  • 它只是隐藏的,所以我们不能用它来注释我们自己的变量。常量和方法参数都有注释,所以应该没有警告。
猜你喜欢
  • 2022-08-19
  • 2020-01-20
  • 2020-08-27
  • 2016-10-14
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多