Marshmallow-Berechtigungen funktionieren nicht für TargetVersion unter 23

8

Mein Projekt ist ein lang laufendes Projekt. Ich hatte die Zielversion als 10, 4 Jahre zurück gesetzt. Ich kann die Zielversion nicht auf 23 ändern, da ich httpImageCache verwende und Probleme mit UIs habe. Mein Problem ist, als Marshmallow veröffentlicht wurde, habe ich versucht Marshmallow mit targetVersion 10 zu integrieren,

%Vor%

Bei dieser Funktion wird immer "0" zurückgegeben, wenn ich auf der Seite mit den App-Einstellungen manuell die Speicherberechtigung EIN oder AUS einstelle. Kann mir bitte jemand helfen?

    
neena 20.10.2015, 09:26
quelle

3 Antworten

4

Wie @Commonware bereits die Antwort gegeben hat, aber hier füge ich mehr Details zu der Frage hinzu, die Ihnen helfen könnte. Wie auf der offiziellen Android-Entwickler-Website:

  • Wenn auf dem Gerät Android 5.1 oder niedriger oder das -Ziel Ihrer App ausgeführt wird SDK ist 22 oder niedriger : Wenn Sie in Ihrem Browser eine gefährliche Berechtigung angeben Manifest muss der Benutzer die Berechtigung erteilen, wenn er die App installiert. Wenn sie die Erlaubnis nicht erteilen, installiert das System die App überhaupt nicht.

  • Wenn auf dem Gerät Android 6.0 oder höher und das Ziel Ihrer App ausgeführt wird SDK ist 23 oder höher: Die App muss die Berechtigungen in der Liste auflisten manifestieren, und es muss jede gefährliche Erlaubnis anfordern, die es benötigt während die App läuft. Der Benutzer kann jede Berechtigung erteilen oder verweigern, und die App kann weiterhin mit begrenzten Fähigkeiten ausgeführt werden, auch wenn die Benutzer verweigert eine Berechtigungsanfrage.

Da Ihr Ziel-SDK 10 ist, wird die Anwendung genau wie zuvor ausgeführt. Wie auch immer, bitte beachten Sie, dass der Benutzer danach noch eine Erlaubnis widerrufen kann. !!! Obwohl Android 6.0 den Benutzer warnt, wenn sie das versuchen, aber sie können trotzdem widerrufen.

Die obige Aussage stammt von der offiziellen Android-Entwickler-Website .

    
Dhaval Patel 20.10.2015 10:53
quelle
3

Verwenden Sie PermissionChecker.checkSelfPermission ()

Wenn targetSdkVersion & lt; = 22, können Sie auch requestPermission ()

verwenden     
qinmiao 28.03.2016 07:08
quelle
2
  

Kann mir bitte jemand helfen?

Löschen Sie diesen Code, da er für Sie nutzlos ist. Wenn Ihr targetSdkVersion unter 23 liegt, können Sie nicht herausfinden, ob der Benutzer Berechtigungen widerrufen hat oder nicht.

    
CommonsWare 20.10.2015 10:37
quelle

Tags und Links