调用需要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中添加

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

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)文件中做了小的改动,问题已经解决了。 在这里输入图像说明

同步项目后。