要将 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 文档。
您需要的所有权限
Google Maps Android API
都在文档中:
您还必须请求 android.permission.WRITE_EXTERNAL_STORAGE 权限。
注意:如果您的目标是 Android M SDK (23) 和最新版本的 Google Play 服务 SDK (8.1),则不再需要 WRITE_EXTERNAL_STORAGE。
从 Google Play 服务 SDK 的下一个版本开始,Google Maps Android API 中将完全删除对 WRITE_EXTERNAL_STORAGE 权限的要求。
所以答案是否定的,如果你使用当前最新的GPS,即8.1.0,则不需要它。
NO,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" />
您只需添加
<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" />
还有您的应用程序标签中的元数据
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
不,如果您使用的是当前最新的 GPS 版本,则没有必要。
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />