Ответ 1
Для будущих посетителей:
Это разрешение теперь совершенно не нужно. Последнее обновление Служба Google Play 3.1.59 сделала ее бесполезной. В результате это может быть удалены.
Рассмотрите это как вопрос о вики.
Пока я настраиваю свой проект для поддержки 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"/>
Я думал, что использование пользовательских разрешений позволяет другим приложениям запускать/использовать наши сервисы/ресурсы приложений.
Для будущих посетителей:
Это разрешение теперь совершенно не нужно. Последнее обновление Служба Google Play 3.1.59 сделала ее бесполезной. В результате это может быть удалены.
Это тот же шаблон, который вы видите при использовании Google Cloud Messaging (GCM) с его разрешением C2D_MESSAGE
. Идея состоит в том, чтобы защитить конечную точку в приложении (например, широковещательный приемник), чтобы какой-либо другой компонент (предположительно, часть API Карт) мог безопасно связаться с ним (в противном случае другое приложение могло бы олицетворять ваше приложение, используя тот же фильтр намерений).
В этом случае API Карт внутренне настраивает такую конечную точку (прозрачно для вас) и может с помощью этого разрешения не использовать эту конечную точку (поскольку для этого потребуется разрешение, которое защищенный вашей подписью приложения).
Я обнаружил, что это разрешение по-прежнему необходимо при использовании сертификата отладки. Когда я экспортировал и подписывал свое приложение, он работал нормально, но это не сработало, когда я использовал сертификат отладки. У меня есть MD5 для моего сертификата отладки и сертификата приложения, связанного с тем же ключом. Когда я, наконец, добавил эти дополнительные разрешения, он сработал. Я использую Moto X, работающий 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.