Android-check-Berechtigung
Baue ich mein Projekt im SDK-version 23, wo die app-Berechtigungen wurden neu eingeführt.
In einige Richtlinien, die Sie verwenden code unten auf read phone state-Berechtigung erteilt wird oder nicht
if (ContextCompat.checkSelfPermission(serviceContext, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
//Read Phone state
}else{
}
Aber ich bin direkt auf checkSelfPermission
wie unten
if(serviceContext.checkSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
//Read Phone state
}else{
}
Es ist in Ordnung arbeiten.
Meine Frage ist was ist der Unterschied zwischen oben diese codes?.das ist der richtige Weg, um zu überprüfen, für die die Erlaubnis erteilt oder nicht?
Überprüfen Sie diese - stackoverflow.com/a/7203752/3235048
InformationsquelleAutor Madhukar Hebbar | 2015-11-05
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Keiner, auf API-23(+) Geräten.
Geräte mit einer älteren Android-version, allerdings wird ein Fehler generiert durch, wenn Sie versuchen, zu nennen
context.checkSelfPermission()
direkt. Diese Methode war nicht verfügbar, bis API-23.ContextCompat
stellt einen rückwärts-kompatiblen Art und Weise zu führencheckSelfPermission()
auf ältere APIs zu. Wenn man sich an die Umsetzung, Sie werden sehen, es erreicht dies, indem Sie einfach delegieren den AufrufcheckPermission()
mit der app-eigenen Prozess-Parameter.checkPermission()
seit der ersten API-Version und wird somit die Arbeit auf der ganzen Linie.So, um diese Frage zu beantworten: wenn Sie nur unterstützt Geräte mit Android 'Marshmallow' 6.0 und neuere, dann können Sie beide Verfahren verwenden. Da es allerdings eher wahrscheinlich, dass Sie auch wollen, um support für einige ältere Versionen von Android, verwenden
ContextCompat
.InformationsquelleAutor MH.
Codierung der offiziellen und den letzten Weg für die Unterstützung in allen Geräten verwenden, die unten snippet
Anfrage die Berechtigungen, die Sie benötigen,
Griff die Berechtigungen, die Anfrage-Antwort
InformationsquelleAutor Anoop M
Andere Lösung :
InformationsquelleAutor Christian