web-dev-qa-db-ja.com

呼び出しにはAPIレベル16が必要です(現在の最小値は14です):Android.app.Notification.Builder#build

enter image description hereドキュメントには、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();

マニフェスト:

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

何か不足していますか?

間違っているが、APIがレベル11に追加されている場合は修正してください。 APIレベル11で追加

31
pt2121

NotificationBuilder.build() には、APIレベル16以上が必要です。 APIレベル11と15の間では、 NotificationBuilder.getNotification() を使用する必要があります。だから使用する

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

16である必要があるAPIレベルに関するヒントは正しいです。これは私のために働いた

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)では機能しないという問題がありました。Eclipseから非推奨の警告が表示されます。@ SuppressWarnings( "deprecation" )完全に隠すわけではありませんが、おそらく役立つと思います。

17
formica

Android Lintは、ADT 16(およびTools 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

アプリがAndroidをサポートしている場合、代わりにNotificationCompat.Builderを使用できます。Androidサポートライブラリ

サポートライブラリ用

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

5
Raghunandan

これから使用できます:

if (Build.VERSION.SDK_INT < 16) {
                Notification n  = new Notification.Builder(this)
                        .setContentTitle("New mail from " + "[email protected]")
                        .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 " + "[email protected]")
                        .setContentText("Subject")
                        .setSmallIcon(R.mipmap.ic_launcher)
                        .setContentIntent(pIntent)
                        .setAutoCancel(true).build();
                NotificationManager notificationManager =
                        (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                notificationManager.notify(0, n);
            }
1
user4813855

Android studio。に同じ問題があります。build.gradle(module:app)ファイルに小さな変更を加え、問題は解決しました。 enter image description here

同期プロジェクトの後。

0
msc