web-dev-qa-db-fra.com

L'autorisation READ_GSERVICES est-elle toujours requise pour Google Maps?

Pour ajouter Google Maps à votre Android Android, vous devez inclure quelques autorisations:

<!-- Required -->
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES"/>
<!-- Optional -->
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION"/>

Cependant, en vérifiant à nouveau Google Maps Android API v2 documentation, j'ai remarqué que

com.google.Android.providers.gsf.permission.READ_GSERVICES

n'est plus nécessaire. Je l'ai testé en le supprimant de AndroidManifest.xml et la carte se charge correctement sans aucun problème.

Donc, ma question est .. quel est/était le but de READ_GSERVICES autorisation?

Remarque: Même s'il est supprimé de Google Maps Android API v2, il se trouve dans la documentation Google Maps API for Business ).

23
user2896182

Toutes les autorisations dont vous avez besoin pour Google Maps Android APIsont dans la documentation :

Vous devez également demander l'autorisation Android.permission.WRITE_EXTERNAL_STORAGE.

Remarque: Si vous ciblez le Android M SDK (23) et la dernière version du SDK des services Google Play (8.1), vous n'avez plus besoin du WRITE_EXTERNAL_STORAGE.

À partir de la prochaine version du SDK des services Google Play, l'exigence de l'autorisation WRITE_EXTERNAL_STORAGE sera complètement supprimée de Google Maps Android API.

Donc, la réponse est NON, vous n'en avez pas besoin si vous utilisez le dernier GPS actuel, c'est-à-dire 8.1.0.

10
Marian Paździoch

NON, ce kakis n'est plus requis dans google MAP API V2

    <permission
                 Android:name="phonelocation.example.asuss550c.phonelocation.permission.MAPS_RECEIVE"
                 Android:protectionLevel="signature" />  
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES" />

Il vous suffit d'ajouter

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />

Aussi cette métadonnée dans votre balise d'application

   <meta-data
            Android:name="com.google.Android.geo.API_KEY"
            Android:value="@string/google_maps_key" />
4
Hussein Alrubaye