2014-07-07 13 views
15

Để thêm Google Maps vào ứng dụng Android của bạn, bạn cần bao gồm một vài điều khoản:Quyền READ_GSERVICES vẫn được yêu cầu cho 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"/> 

Tuy nhiên, bằng cách kiểm tra Google Maps Android API v2 tài liệu một lần nữa, tôi nhận thấy rằng

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

không còn cần thiết. Tôi đã thử nghiệm nó bằng cách xóa nó khỏi AndroidManifest.xml và bản đồ đang tải tốt mà không gặp bất kỳ sự cố nào.

Vì vậy, câu hỏi của tôi là .. mục đích của việc cho phép READ_GSERVICES là gì?

Lưu ý: Mặc dù tài liệu bị xóa khỏi tài liệu Android API v2 của Google Maps, tài liệu này có thể được tìm thấy trên tài liệu Google Maps API for Business.

Trả lời

5

Tất cả các quyền cần thiết cho Google Maps Android APIare in the docs:

Bạn cũng phải yêu cầu sự cho phép android.permission.WRITE_EXTERNAL_STORAGE.

Lưu ý: Nếu bạn đang nhắm mục tiêu Android M SDK (23) và phiên bản mới nhất của SDK dịch vụ Google Play (8.1), bạn không còn cần WRITE_EXTERNAL_STORAGE nữa.

Từ bản phát hành tiếp theo của SDK dịch vụ Google Play, yêu cầu về quyền WRITE_EXTERNAL_STORAGE sẽ bị xóa hoàn toàn khỏi API Android của Google Maps.

Vì vậy, câu trả lời là KHÔNG, bạn không cần nó nếu bạn sử dụng GPS mới nhất hiện tại, tức là 8.1.0.

+1

user2896182 là thông số kỹ thuật ific về com.google.android.providers.gsf.permission.READ_GSERVICES và bạn đã trả lời về WRITE_EXTERNAL_STORAGE. –

+0

@ZhangWeiwu vui lòng đọc kỹ hơn :) –

+1

user2896182 cũng đã hỏi một câu hỏi khác trong mô tả của anh ấy so với câu được chỉ định trong tiêu đề. Câu hỏi đó không được trả lời, đó là điều Zhang có thể có ý nghĩa. EDIT: Câu hỏi đó dường như được hỏi trước: http://android.stackexchange.com/questions/98330/what-is-the-android-permission-write-gservices-doing – Revolutionair

1

NO, quả hồng này không còn cần thiết trong 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" /> 

Bạn chỉ cần thêm

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

Cũng MetaData này trong ứng dụng Tag của bạn

<meta-data 
      android:name="com.google.android.geo.API_KEY" 
      android:value="@string/google_maps_key" /> 
Các vấn đề liên quan