2016-06-21 13 views
-3

android permission dialog wird nicht in lollipop version I.e 5.1 angezeigt, aber permission dialog wird in Version 6.0 angezeigt, dh marshmallow. Kann jemand mir sagen, was der Grund dafür ist, und wie man dieses Problem löst.Berechtigungsdialog wird in Version 5.0 nicht angezeigt

+5

Da die Laufzeitberechtigung in Version 6.0 hinzugefügt wurde. Weitere Informationen finden Sie unter https://developer.android.com/training/permissions/request.html. –

+0

Laufzeit-Berechtigungen funktioniert Formular Android 6.0 für 6.0 unter sollten Sie Berechtigungen in Android-manifest.xml –

+0

Vielen Dank, jetzt habe ich es – lisha

Antwort

1

Für unter Android 6.0 Erlaubnis Dialogfeld wird dem Benutzer nicht angezeigt.

Von Android Docs:

  1. Wenn das Gerät Android 5.1 läuft oder niedriger ist, oder das Ziel Ihrer App SDK ist 22 oder niedriger: Wenn Sie führen eine gefährliche Erlaubnis in Ihrem manifestieren, der Benutzer muss die Erlaubnis erteilen, wenn sie die App installieren; Wenn sie die Erlaubnis nicht erteilen, installiert das System die App überhaupt nicht.
  2. Wenn das Gerät Android 6.0 oder höher ausgeführt, und SDK Ziel der App ist 23 oder höher: Die App die Berechtigungen in der Manifest zur Liste hat, und es muss jede gefährliche Erlaubnis bitten sie braucht, während die App läuft. Der Benutzer kann jede Berechtigung erteilen oder verweigern, und Die App kann weiterhin mit eingeschränkten Funktionen ausgeführt werden, auch wenn der Benutzer eine Berechtigungsanfrage ablehnt.
+0

Das ist richtig, aber unvollständig. Bitte fügen Sie ein Zitat von Android Docs oder einer anderen zuverlässigen Quelle hinzu, damit es vollständig ist. – Sufian

0

Kann jemand mir sagen, was der Grund für diese, dass Sie die runtime permission dialog triggered by requestPermissions() bedeuten Unter der Annahme,

ist, ist der Grund, dass dieser Dialog nur auf Android existiert 6.0+. ActivityCompat.requestPermissions(), ContextCompat.checkSelfPermission() und verwandte Methoden rufen ihre systemeigenen Entsprechungen auf Android 6.0-Geräten auf und schlagen ordnungsgemäß auf älteren Geräten fehl.

wie Sie dieses Problem lösen.

Es gibt kein Problem. Laufzeitberechtigungen gibt es nur für Android 6.0 und höher. Auf Android 1.0-5.1-Geräten werden Berechtigungen nur zur Installationszeit erteilt.