Google地图仍需要READ_GSERVICES权限吗?

时间:2014-07-07 19:59:37

标签: android google-maps google-play-services

要将Google地图添加到Android应用程序,您需要包含一些权限:

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

但是,通过再次检查Google Maps Android API v2文档,我注意到了

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

不再需要。我通过从AndroidManifest.xml中删除它来测试它,并且地图正在正常加载而没有任何问题。

所以,我的问题是...... READ_GSERVICES权限的目的是什么?

注意:即使它已从Google Maps Android API v2文档中删除,也可以在 Google Maps API for Business文档中找到。

2 个答案:

答案 0 :(得分:11)

Google Maps Android API are in the docs所需的所有权限:

  

您还必须请求android.permission.WRITE_EXTERNAL_STORAGE权限。

  注意:如果您要定位Android M SDK(23)和最新版本的Google Play服务SDK(8.1),则不再需要WRITE_EXTERNAL_STORAGE。

  在下一版Google Play服务SDK中,对于WRITE_EXTERNAL_STORAGE权限的要求将完全从Google Maps Android API中删除。

所以答案是否定的,如果您使用当前最新的GPS,即8.1.0,则不需要它。

答案 1 :(得分:3)

不,谷歌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" />

您只需添加

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

此应用程序标记中的此MetaData

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