ドキュメントには、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で追加
NotificationBuilder.build() には、APIレベル16以上が必要です。 APIレベル11と15の間では、 NotificationBuilder.getNotification() を使用する必要があります。だから使用する
notification = new Notification.Builder(ctx)
.setContentTitle("Title").setContentText("Text")
.setSmallIcon(R.drawable.ic_launcher).getNotification();
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" )完全に隠すわけではありませんが、おそらく役立つと思います。
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
これから使用できます:
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);
}