Wie in früheren Antworten hervorgehoben wurde, handelt es sich um einen Fehler. Ich empfehle, die spezifische Fusselwarnung nicht projektweit zu deaktivieren, sondern nur für diese Methode. Beschriften Sie Ihre Methode wie folgt:
@SuppressLint("RestrictedApi")
@Override
public void setupDialog(Dialog dialog, int style) {
super.setupDialog(dialog, style);
//your code here
}
Diese Antwort ist am besten, da sie nicht global deaktiviert wird, den Fehler/die Warnung in der IDE behebt und zur Kompilierzeit leicht verständlich ist, da sie explizit oben in der Methode aufgeführt ist (im Gegensatz zu //noinspection RestrictedApi das als Kommentar versteckt ist und nur die Warnung in der IDE, aber nicht zur Kompilierzeit stummschaltet), und es funktioniert mit der neuesten Version von Android Studio und Gradle.
– Sakiboy
16. November 17 um 9:53 Uhr
Diese Antwort sollte verwendet werden. Keine gute Idee, das Projekt global zu deaktivieren.
– Christoph Smit
26. Juni 18 um 6:35 Uhr
Sie können diese Anmerkung auch nur in der Zeile verwenden, in der Sie sie benötigen, anstatt sie für die gesamte Methode zu unterdrücken
– Ben Kane
7. August 18 um 15:34 Uhr
Danke, das hat bei mir funktioniert. In meinem speziellen Fall wurde der Fehler mit applicationContext behoben: @SuppressLint(“RestrictedApi”) fun toastString(string: String){ var context = getApplicationContext() Toast.makeText(context, string, Toast.LENGTH_LONG).show() }
– Liker777
16. Dezember 21 um 5:55 Uhr
Martin
Wie Felipe bereits in seinem Kommentar betonte, ist dies a Insekt in der Vorabversion der Tools.
Sie können dies vorerst umgehen, bis Google einen Fix veröffentlicht, indem Sie Folgendes in die build.gradle-Datei Ihres Projektmoduls einfügen:
Es ist erwähnenswert, dass dies echte Fehler in Ihrem Projekt verbergen kann, da es alle Fehler dieses Typs unterdrückt. Daher wäre die bessere Option, die Version von Android Studio und die im Projekt verwendeten Tools herunterzustufen.
Ich würde die Antwort von @Cbr unten vorschlagen, sie unterdrückt nur auf Methodenebene und funktioniert im Gegensatz zu Android Studio 3 //noinspection RestrictedApi.
– Sakiboy
16. November 17 um 9:58 Uhr
Shubham Agarwal
Das Deaktivieren der Warnung in lintOptions scheint keine gute Option zu sein, es ist besser, die Inspektion auf Anweisungsebene zu unterdrücken.
Fügen Sie diesen Kommentar über der Codezeile hinzu, die die Warnung ausgibt:
//noinspection RestrictedApi
Ich gehe mit diesem. Ich könnte die bessere Lösung sein, die lintOptions nicht global zu deaktivieren. Vielen Dank
– Yoraco Gonzales
28. Mai 17 um 14:08 Uhr
Funktioniert nicht in Android Studio 3. Gab es Änderungen?
– vovahost
12. Oktober 17 um 17:01 Uhr
@vovahost verwende ich @SuppressLint("RestrictedApi") anstatt //noinspection RestrictedApi ohne Probleme in Android Studio 3
– Vektor
19. Oktober 17 um 14:42 Uhr
Ja sicher, das funktioniert auch für mich, aber die //noinspection funktioniert nur für eine Aussage, was besser ist.
– vovahost
19. Oktober 17 um 14:45 Uhr
@Sakiboy Die Lösung von Cbr gilt für die gesamte Methode, die ich nicht verwenden wollte, da sie andere Fehler verbergen kann.
– vovahost
16. November 17 um 8:50 Uhr
.
6618200cookie-checkAppCompatActivity.onCreate kann nur innerhalb derselben Bibliotheksgruppe aufgerufen werdenyes
ersetzen
invalidateOptionsMenu()
mitsupportInvalidateOptionsMenu()
. es sollte den Job machen– ᴛʜᴇᴘᴀᴛᴇʟ
16. Dezember ’16 um 18:00 Uhr
Ich verwende solche Methoden nicht in meinem Code
– Pixel
16. Dezember 16 um 18:09 Uhr
Klingt nach einem Bug: code.google.com/p/android/issues/detail?id=230387
– Felipe Lima
16. Dezember 16 um 18:28 Uhr