要将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文档中找到。
答案 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" />