-1

Ich entwickle eine kleine Anwendung zum Senden von SMS für Android. Wenn Sie eine .apk installieren Android 4.4 fragt nach permission senden SMS Nachrichten vom Gerät. Aber Android 7 fragt überhaupt keine Berechtigungen. Sie müssen jedoch in den Einstellungen die SMS-Sendeberechtigung manuell aktivieren, damit die Anwendung ordnungsgemäß funktioniert.Erlangung von Berechtigungen für Android Version 7

Gibt es eine Möglichkeit, Berechtigungen während des Installationsprozesses auf allen Android-Systemen anzuzeigen?

+0

für Android 7 Sie benötigen die Erlaubnis des Benutzers während der Laufzeit zu erhalten. –

+0

https://StackOverflow.com/questions/32635704/android-permission-doesnt-work-even-if-i-have-declared-it/41957460#41957460 Geben Sie Erlaubnis Laufzeit über den obigen Link – user7176550

Antwort

0

Seit Android 6.0 (API Level 23) müssen Sie die Berechtigungen zur Laufzeit anfordern. Die meisten Anwendungen tun das, wenn der Benutzer die App zum ersten Mal startet.

Um zu überprüfen, ob Sie die Erlaubnis bereits haben, verwenden

int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_SMS); 

zu überprüfen, ob Sie SMS lesen kann. Die Rückgabe wird PackageManager.PERMISSION_GRANTED sein, wenn die App bereits die Berechtigung hat, sonst wird PackageManager.PERMISSION_DENIED zurückgegeben.

Erlaubnis bitten, verwenden

ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_SMS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); 

wo MY_PERMISSIONS_REQUEST_READ_CONTACTS ist eine App int Konstante definiert.

The corresponding documentation will give more detail about this.

Bitte beachten Sie: Sie müssen die entsprechenden <uses-permission> Elemente in Ihrem Manifest definieren, und fordern Sie dann die Berechtigung zur Laufzeit.

, um dieses Problem zu umgehen, einfach die Version unten SDK gezielt Drop 23.

Verwandte Themen