Подтвердить что ты не робот

Android Map V2 - Почему разрешение MAPS_RECEIVE

Рассмотрите это как вопрос о вики.

Пока я настраиваю свой проект для поддержки Map V2, был добавлен шаг для добавления разрешения MAPS_RECEIVE.

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

Почему мы создаем и потребляем разрешение самого приложения?

Является ли это приложение Google Play Play взаимодействием с использованием этого разрешения?

Это разрешение не может позаботиться об этих вещах?

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

Я думал, что использование пользовательских разрешений позволяет другим приложениям запускать/использовать наши сервисы/ресурсы приложений.

4b9b3361

Ответ 1

Для будущих посетителей:

Это разрешение теперь совершенно не нужно. Последнее обновление Служба Google Play 3.1.59 сделала ее бесполезной. В результате это может быть удалены.

источник

Ответ 2

Это тот же шаблон, который вы видите при использовании Google Cloud Messaging (GCM) с его разрешением C2D_MESSAGE. Идея состоит в том, чтобы защитить конечную точку в приложении (например, широковещательный приемник), чтобы какой-либо другой компонент (предположительно, часть API Карт) мог безопасно связаться с ним (в противном случае другое приложение могло бы олицетворять ваше приложение, используя тот же фильтр намерений).

В этом случае API Карт внутренне настраивает такую ​​конечную точку (прозрачно для вас) и может с помощью этого разрешения не использовать эту конечную точку (поскольку для этого потребуется разрешение, которое защищенный вашей подписью приложения).

Ответ 3

Я обнаружил, что это разрешение по-прежнему необходимо при использовании сертификата отладки. Когда я экспортировал и подписывал свое приложение, он работал нормально, но это не сработало, когда я использовал сертификат отладки. У меня есть MD5 для моего сертификата отладки и сертификата приложения, связанного с тем же ключом. Когда я, наконец, добавил эти дополнительные разрешения, он сработал. Я использую Moto X, работающий 4.4, со всем обновленным.

Ответ 4

Это разрешение указывает ваше имя пакета. то есть.

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

Таким образом, API Google просто позволяет вашему проекту получать карту. Разрешение указывает, где использовать API.