Die Tag-Info von google-play-services besagt, dass es sich um "eine Bibliothek handelt, die von Google-Apps und vielen Drittanbieter-Apps verwendet wird, um Standort- und soziale Funktionen bereitzustellen".
Bedeutet dies, dass, wenn ich mich weigere, einer App den Standort bereitzustellen, die besagte App trotzdem meinen Standort über die Google Play-Dienste abrufen kann?
Nach meinem Verständnis gibt es zwei Möglichkeiten, den aktuellen Standort aus der Perspektive eines Android-Entwicklers abzurufen:
Die Android-Framework-Location-API: android.location
Dies ist "der alte Weg", und Entwickler werden ermutigt, die neuere API anzupassen:
Die Standort-API der Google Play-Dienste.
Um auf Ersteres zuzugreifen, muss eine Anwendung Berechtigungen zu ihrer Verwendung anfordern :
Sofern nicht anders angegeben, erfordern alle Standort-API-Methoden die Berechtigungen ACCESS_COARSE_LOCATION oder ACCESS_FINE_LOCATION.
Um auf Letzteres zuzugreifen, müssen Entwickler immer noch dieselben Berechtigungen anfordern :
Apps, die Standortdienste verwenden, müssen Standortberechtigungen anfordern. Android bietet zwei Standortberechtigungen: ACCESS_COARSE_LOCATION und ACCESS_FINE_LOCATION. Die von Ihnen gewählte Berechtigung bestimmt die Genauigkeit des von der API zurückgegebenen Standorts. Wenn Sie ACCESS_COARSE_LOCATION angeben, gibt die API einen Standort mit einer Genauigkeit zurück, die ungefähr einem Stadtblock entspricht.
Also, nein, der Dienst bietet keine Möglichkeit, Berechtigungsprüfungen zu umgehen. Beide Wege erfordern die gleichen Berechtigungen.
Nein, die Dienste/Bibliotheken benötigen wie alles andere immer noch Berechtigungsanfragen.
Weitere Informationen finden Sie in der Play Services SDK-Dokumentation . Aber einige relevante Auszüge:
... Nachdem Sie die APIs deklariert haben, die Sie verwenden möchten ... stellen Sie sicher, dass Sie die erforderliche Berechtigung haben, bevor Sie eine API aufrufen.
...
Wenn der Aufruf „false“ zurückgibt, bedeutet dies, dass die Berechtigungen nicht erteilt wurden und Sie sie verwenden sollten, um
requestPermissions
sie anzufordern.... wenn Sie anrufen
connect()
, überprüfen die Google Play-Dienste, ob alle erforderlichen Berechtigungen vorhanden sind. ...connect()
schlägt fehl, wenn Berechtigungsgruppen fehlen, die von den Google Play-Diensten selbst benötigt werden.
Zauberbuch