0

Android Studio (2.2.3) warnt mich vor einer Methode, die ich angerufen wurde, die mit @RequiresPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) annotiert ist.Android @ RequirePermission Highlights-Methode in rot in onRequestPermissionsResult gewährt

ich mit einer solchen Warnung wäre in Ordnung, aber in meinem Fall, es ist nicht Sinn: Ich habe die Methode innerhalb onRequestPermissionsResult nenne, wo ich überprüfen, ob die WRITE_EXTERNAL_STORAGE Erlaubnis tatsächlich erteilt wurde:

if (permissions[0].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE) && grantResults[0] == PackageManager.PERMISSION_GRANTED) 
      CSVUtils.setup(); // -> is highlighted in red!! 

So Nach dem Warnhinweis verwende ich checkSelfPermission(), aber dann Android Studio sagt mir, dass dies SDK 23 ist, während ich SDK 21 als Minimum anzielen, während ich in einer Methode bin, die nur in SDK 23 oder neuer aufgerufen werden konnte. Das schlägt wirklich den Zweck fehl, weil ich den ganzen Code habe, der gemacht wird, um die Erlaubnis zu überprüfen, wenn Benutzer SDK 23 oder neuer ausführt, also warum sollte ich mehr überprüfen müssen?

In jedem Fall ist das nicht wirklich ein Problem, nur dass ich es nicht mag, auf diese Weise gewarnt zu werden, wenn ich meine Methoden nicht mit @RequirePermission annotieren muss ... was kann ich tun?

Antwort

4

Fügen Sie diese Anmerkung über dem Verfahren @SuppressWarnings({"MissingPermission"})

+0

Dank Warnung zu vermeiden! Ich dachte eigentlich daran, dies zu tun, aber ich wusste nicht, was ich in "@ SuppressWarnings" weitergeben sollte, aber ich ging wieder hierher, weil ich wusste, dass jemand diese Lösung gegeben hätte und du hast! :) – Mackovich

Verwandte Themen