W moim Android manifestu, to mówi tak:Dlaczego jest napisane "przestarzałe" dla metody, która jest jedyną, której mogę użyć dla wybranego poziomu interfejsu API?
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="16" />
ale kiedy piszę ten kodu spowoduje getNotification na koniec dostaje mi ostrzeżenie mówiąc, że metoda jest „przestarzała”:
Notification myNotification = new Notification.Builder(appContext)
.setContentTitle("SIC")
.setContentText(tickerText)
.setWhen(when)
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true)
.setContentIntent(contentIntent)
.getNotification(); // <-- warning here
teraz problem polega na tym, że dla poziomu API 10, dla którego rozwijam minimum, getNotification jest jedynym, którego można użyć. Nowsza metoda o nazwie "build()" dotyczy poziomu interfejsu API 16.
Dlaczego więc otrzymuję przestarzałe ostrzeżenie, mimo że jest to jedyne, czego mogę i powinniśmy użyć? Ktoś mógłby pomyśleć, że ostrzeżenie/docs powinny dostosować się do minSdkLevel, a nie do highhets one ...
Nie, build został dodany w poziomie api 16: http://developer.android. com/reference/android/app/Notification.Builder.html # build() Dzięki za odpowiedź: =) – Ted
@Ted: Proszę ponownie przeczytać ostatni akapit mojej odpowiedzi. Twój link w twoim komentarzu jest natywnym 'Notification.Builder', którego nie chcesz używać w tym przypadku. – CommonsWare