web-dev-qa-db-ja.com

GoogleマップにREAD_GSERVICES権限はまだ必要ですか?

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 のドキュメントにあります。

23
user2896182

Google Maps Android APIに必要なすべての権限 ドキュメントにあります

Android.permission.WRITE_EXTERNAL_STORAGE権限もリクエストする必要があります。

注:Android M SDK(23)および最新バージョンのGoogle Play開発者サービスSDK(8.1)をターゲットにしている場合、WRITE_EXTERNAL_STORAGEは不要になりました。

Google Play開発者サービスSDKの次のリリースから、WRITE_EXTERNAL_STORAGE権限の要件はGoogleマップから完全に削除されますAndroid API。

したがって、答えは「いいえ」です。現在の最新のGPS、つまり8.1.0を使用している場合は必要ありません。

10

いいえ、この柿は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" />
4