Ich entwerfe eine Funktion, die eine Ressource von SD abrufen / festlegen kann. Wenn sie nicht von SD gefunden wird, nehme ich sie von Asset und schreibe das Asset nach Möglichkeit zurück in SD.
Diese Funktion kann durch Methodenaufruf prüfen, ob SD bereitgestellt ist und auf sie zugegriffen werden kann.
boolean bSDisAvalaible = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
Meine entworfene Funktion kann von einer App (Projekt) zu einer anderen verwendet werden (mit oder ohne android.permission.WRITE_EXTERNAL_STORAGE)
Dann möchte ich überprüfen, ob die aktuelle Anwendung diese spezielle Berechtigung hat, ohne mit SecurityException zu spielen.
Gibt es eine "nette" Möglichkeit, zur Laufzeit die aktuell definierten Berechtigungen abzurufen?
quelle
checkCallingPermission()
anstelle dercheckCallingOrSelfPermission()
Methode zu verwenden.Dies ist auch eine andere Lösung
quelle
Sie können auch Folgendes verwenden:
quelle
Wie Google- Dokumentation :
quelle
Teilen Sie meine Methoden, falls jemand sie benötigt:
Und um es zu nennen:
quelle
Sie sollten auf folgende Weise nach Berechtigungen suchen (wie hier für Android-Berechtigungen beschrieben ):
Vergleichen Sie dann Ihr Ergebnis mit:
oder:
quelle
Schritt 1 - Berechtigungsanforderung hinzufügen
Schritt 2 - Berechtigungsergebnis behandeln
quelle
Der Code, der für mich gut funktioniert, ist: -
quelle
Aktivieren Sie den GPS-Standort Android Studio
MapsActivity.java
quelle
quelle
Überprüfen Sie die Berechtigungen in KOTLIN (RunTime).
Im Manifest: (android.permission.WRITE_EXTERNAL_STORAGE)
quelle