In meinem Android-Manifest heißt das:
%Vor%Aber wenn ich diesen Code schreibe, erhält die getNotification am Ende eine Warnung, dass die Methode "veraltet" ist:
%Vor%Nun, 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.
Warum bekomme ich die veraltete Warnung, obwohl sie die einzige ist, die ich verwenden kann und sollte? Man könnte meinen, dass sich die Warnung / Dokumente an den minSdkLevel anpassen sollten, nicht an die hohen Werte ...
Warum erhalte ich die veraltete Warnung, obwohl sie die einzige ist, die ich verwenden kann und sollte?
Da Ihr Build-Ziel API-Level 16 oder höher ist, ist diese Methode veraltet.
Man könnte meinen, dass sich die Warnung / Dokumente an den minSdkLevel anpassen sollten, nicht an die hohen
In diesem Fall wäre einer falsch. Deprecation hat nichts mit minSdkVersion
zu tun, genauso wenig wie in Standard-Java außerhalb von Android (wo deprecation vorhanden ist und minSdkVersion
nicht tut).
Außerdem sollten Sie die Version von Notification.Builder
des Android Support-Pakets verwenden (genannt NotificationCompat.Builder
, da die native Version nicht in API Level 10 vorhanden ist, die Ihr Manifest angibt, dass Sie versuchen, diese zu unterstützen. build()
sollte auf NotificationCompat.Builder
existieren und auf allen gewünschten API-Ebenen funktionieren.
Wenn Sie es "technisch korrekt" machen wollten, würden Sie etwas wie
tun %Vor% Und dann kommentieren Sie die Methode mit TargetApi(16)
. So nähern Sie sich generell diesen Problemen.
In Ihrem Fall sollten Sie stattdessen NotificationCompat.Builder
im Kompatibilitätspaket verwenden.
Am besten ist es, die Kompatibilität Bibliothek zu verwenden und dieses Problem zu vergessen:
Auf diese Weise können Sie alle neuesten Funktionen der Benachrichtigungen genießen ...
Ich glaube, die Warnung bezieht sich auf die Tatsache, dass Sie mit einem neueren SDK bauen (weil Ihre targetSDKVersion höher ist). Sie können also die neuere Methode verwenden, müssen jedoch vorsichtig sein, da Geräte, die unter der Ziel-API-Ebene, aber über der Mindest-API-Ebene liegen, nicht mit der neueren API funktionieren. Sie können die API-Ebene überprüfen, bevor Sie die neueren Aufrufe verwenden, um sie sicher zu verwenden.
Wenn Sie beispielsweise eine Android 4.1-Methode verwenden möchten, während Ihre MinSDK 2.3 ist, können Sie Folgendes tun:
%Vor%In diesem Fall spielt die Warnung keine Rolle. Sie können der Klasse oder Methode ein @SuppressWarnings ("deprecation") hinzufügen.