In meinem Android-Manifest, sagt es so:Warum heißt es "veraltet" für eine Methode, wenn es die einzige ist, die ich für die ausgewählte API-Ebene verwenden kann?
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="16" />
aber wenn ich diesen Code zu schreiben, wird die getNotification am Ende Warnung mir sagen, dass die Methode wird als "veraltet":
Notification myNotification = new Notification.Builder(appContext)
.setContentTitle("SIC")
.setContentText(tickerText)
.setWhen(when)
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true)
.setContentIntent(contentIntent)
.getNotification(); // <-- warning here
Jetzt Das Problem ist, dass für API-Level 10, welches das Minimum ist, für das ich mich entwickle, getNotification die einzige ist, die es zu verwenden gilt. Die neuere Methode namens "build()" ist für API-Ebene 16.
Also warum bekomme ich die veraltete Warnung obwohl es die einzige ist, die ich verwenden kann und sollte? Man könnte denken, dass sich die Warnung/Dokumente an den minSdkLevel anpassen sollten, nicht an die hohen Werte ...
Nein, wurde in api Level 16 Build hinzugefügt: http://developer.android. com/reference/android/app/Notification.Builder.html # build() Danke für die Antwort though =) – Ted
@Ted: Bitte lesen Sie den letzten Absatz meiner Antwort. Ihr Link in Ihrem Kommentar bezieht sich auf den systemeigenen 'Notification.Builder', den Sie in diesem Fall nicht verwenden möchten. – CommonsWare