2014-07-07 9 views
15

Per aggiungere Google Maps alla propria applicazione Android, è necessario includere un paio di permesso:L'autorizzazione READ_GSERVICES è ancora necessaria per Google Maps?

<!-- 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"/> 

Tuttavia, controllando di nuovo Google Maps Android API v2 documentazione, ho notato che

com.google.android.providers.gsf.permission.READ_GSERVICES 

non è più necessaria. L'ho provato rimuovendolo da AndroidManifest.xml e la mappa si sta caricando senza problemi.

Quindi, la mia domanda è .. Qual è/era lo scopo di READ_GSERVICES permesso?

Nota: Anche se viene rimosso da Google Maps Android documentazione API v2, lo si può trovare sul Google Maps API for Business documentazione.

risposta

5

Tutte le autorizzazioni sono necessarie per Google Maps Android APIare in the docs:

È inoltre necessario richiedere il permesso android.permission.WRITE_EXTERNAL_STORAGE.

Nota: se ci si rivolge l'SDK di Android M (23) e l'ultima versione di Google Play Services SDK (8.1), non è più necessario il WRITE_EXTERNAL_STORAGE.

Dalla prossima versione del Google Play Services SDK, il requisito per il permesso WRITE_EXTERNAL_STORAGE saranno completamente abbandonato dalle API di Google Maps di Android.

Quindi la risposta è NO, non è necessario se si utilizza il GPS più recente corrente, ad esempio 8.1.0.

+1

user2896182 è spec informazioni su com.google.android.providers.gsf.permission.READ_GSERVICES e hai risposto a proposito di WRITE_EXTERNAL_STORAGE. –

+0

@ZhangWeiwu per favore leggi più attentamente :) –

+1

user2896182 ha anche posto una domanda diversa nella sua descrizione rispetto a quella specificata nel titolo. Quella domanda non ha risposta, che è probabilmente ciò che Zhang intende. EDIT: Quella domanda è apparentemente chiesto prima: http://android.stackexchange.com/questions/98330/what-is-the-android-permission-write-gservices-doing – Revolutionair

1

No, questo cachi non è più necessario in 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" /> 

Hai solo bisogno di aggiungere

<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" /> 

Anche questo metadati nei tag Application

<meta-data 
      android:name="com.google.android.geo.API_KEY" 
      android:value="@string/google_maps_key" />