调用需要API级别16(当前最小值是14):android.app.Notification.Builder#build

在这里输入图像说明 该文档说明Notification.Builder已添加到API级别11.为什么我得到这个lint错误?

调用需要API级别16(当前最小值是14):android.app.Notification.Builder#build

notification = new Notification.Builder(ctx) .setContentTitle("Title").setContentText("Text") .setSmallIcon(R.drawable.ic_launcher).build(); 

performance:

 <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" /> 

我错过了什么吗?

纠正我,如果我错了,但API是添加在11级,对不对? 在API级别11中添加

  • 常量'运行Android Lint'失败,在Eclipsepopup的nullpointerexception(但似乎不是我的代码)
  • Android库的Android API级别注释
  • 在构buildandroid studio项目时运行lint
  • @IndDef注释和从其他代码返回值不能被注释或如何暂时禁用注释从而影响代码?
  • Android Lint - 如何隐藏警告“资源Xxx似乎是未使用的”
  • 为什么ContextThemeWrapper现在仅限于支持库组?
  • Lint:如何忽略“<key>没有翻译成<language>”的错误?
  • 如何解决这个问题:“运行android lint”问题
  • NotificationBuilder.build()需要API级别16或更高。 API级别11和15之间的任何内容都应该使用NotificationBuilder.getNotification() 。 所以使用

     notification = new Notification.Builder(ctx) .setContentTitle("Title").setContentText("Text") .setSmallIcon(R.drawable.ic_launcher).getNotification(); 

    关于API级别需要为16的提示是正确的。 这对我有效

     if (Build.VERSION.SDK_INT < 16) { nm.notify(MY_NOTIFICATION_ID, notificationBuilder.getNotification()); } else { nm.notify(MY_NOTIFICATION_ID, notificationBuilder.build()); } 

    我遇到了问题,通知在较新的设备上工作正常,但不是在Android 4.0.4(API级别15)。 我确实得到了一个折旧警告forms的日食。 @SuppressWarnings(“deprecation”)并不完全隐藏它,但我认为这可能是有帮助的。

    Android Lint是在ADT 16(和工具16)中引入的一个新工具,它扫描Android项目源以查找潜在的错误。 它既可以作为命令行工具使用,也可以与Eclipse集成

    http://tools.android.com/tips/lint

    有关皮棉检查的清单

    http://tools.android.com/tips/lint-checks

    用于抑制皮棉警告

    http://tools.android.com/tips/lint/suppressing-lint-warnings

    http://developer.android.com/reference/android/app/Notification.Builder.html

    如果您的应用程序支持与API级别4相同的Android版本,则可以改为使用Android支持库中的NotificationCompat.Builder。

    用于支持库

    http://developer.android.com/tools/extras/support-library.html

    你可以使用这个:

     if (Build.VERSION.SDK_INT < 16) { Notification n = new Notification.Builder(this) .setContentTitle("New mail from " + "test@gmail.com") .setContentText("Subject") .setSmallIcon(R.mipmap.ic_launcher) .setContentIntent(pIntent) .setAutoCancel(true).getNotification(); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notificationManager.notify(0, n); } else { Notification n = new Notification.Builder(this) .setContentTitle("New mail from " + "test@gmail.com") .setContentText("Subject") .setSmallIcon(R.mipmap.ic_launcher) .setContentIntent(pIntent) .setAutoCancel(true).build(); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notificationManager.notify(0, n); } 

    我在android工作室有同样的问题。 我在build.gradle(module:app)文件中做了小的改动,问题已经解决了。 在这里输入图像说明

    同步项目后。