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.
für Android 7 Sie benötigen die Erlaubnis des Benutzers während der Laufzeit zu erhalten. –
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