2013-02-12 32 views
27

Hãy xem đây là câu hỏi wiki.Bản đồ Android V2 - Tại sao quyền MAPS_RECEIVE

Trong khi tôi thiết lập dự án của mình để hỗ trợ Bản đồ V2, Đã có một bước để thêm quyền MAPS_RECEIVE.

<permission 
      android:name="com.example.mapdemo.permission.MAPS_RECEIVE" 
      android:protectionLevel="signature"/> 
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/> 

Tại sao chúng tôi tạo và tiêu thụ sự cho phép từ chính ứng dụng?

Ứng dụng dịch vụ Google Play đó có tương tác với quyền này không?

Quyền này không thể xử lý những điều này?

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 

Tôi nghĩ việc sử dụng quyền tùy chỉnh là cho phép các ứng dụng khác khởi chạy/sử dụng các dịch vụ/tài nguyên của ứng dụng của chúng tôi.

+0

Tôi chỉ tò mò về lý do chúng tôi thiết lập quyền này. Bằng cách dự án của tôi làm việc tốt với Bản đồ V2. –

+1

@MontyThreeCard yes .. Tôi chưa theo dõi bài đăng này một thời gian –

Trả lời

72

Đối với du khách trong tương lai:

phép này bây giờ là hoàn toàn không cần thiết. Bản cập nhật mới nhất của Dịch vụ của Google Play 3.1.59 khiến nó vô dụng. Kết quả là có thể xóa .

source

6

Đây là mẫu giống như bạn thấy khi sử dụng Google Cloud Messaging (GCM) với quyền C2D_MESSAGE. Ý tưởng là để bảo vệ điểm cuối trong ứng dụng của bạn (ví dụ: bộ thu phát sóng) để một số thành phần khác (có lẽ là một phần của API Maps) có thể liên hệ với nó một cách an toàn (nếu không, một ứng dụng khác có thể mạo danh ứng dụng của bạn bằng cách sử dụng cùng một bộ lọc ý định). Trong trường hợp này, API Maps sẽ thiết lập nội bộ như một điểm cuối (minh bạch cho bạn) và có thể, với việc sử dụng quyền này, rằng điểm cuối không thể mạo danh (vì làm như vậy sẽ yêu cầu sự cho phép, được bảo vệ bằng chữ ký ứng dụng của bạn).

+2

Đối với khách truy cập trong tương lai, hãy xem @ Exception-al answer: "Quyền này hiện đã hoàn toàn không cần thiết. Bản cập nhật mới nhất của Dịch vụ Google Play 3.1.59 đã khiến nó vô dụng. Kết quả là, nó có thể được gỡ bỏ. " – Chiara

3

tôi thấy rằng sự cho phép này vẫn còn cần thiết khi sử dụng giấy chứng nhận debug. Khi tôi xuất khẩu và ký ứng dụng của tôi nó hoạt động tốt, nhưng nó sẽ không hoạt động khi tôi sử dụng cert gỡ lỗi. Tôi có MD5 cho cả cert debug và cert ứng dụng của tôi được kết hợp với cùng một khóa. Khi tôi cuối cùng đã thêm các quyền bổ sung này, nó đã hoạt động. Tôi đang sử dụng Moto X chạy 4.4 với mọi thứ được cập nhật.

3

Quyền này chỉ định tên gói của bạn. tức là,

<permission 
      android:name="package_name.permission.MAPS_RECEIVE" 
      android:protectionLevel="signature"/> 
    <uses-permission android:name="package_name.permission.MAPS_RECEIVE"/> 

do đó, API Google chỉ cho phép dự án của bạn nhận bản đồ. Giấy phép cho biết nơi sử dụng API.

+0

quyền này đã bị xóa trong 3.1.59 .. không cần thiết nữa .. –

Các vấn đề liên quan