认为这是一个维基的问题。
当我安装我的项目,以支持地图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"/>
为什么我们创建和使用由应用程序本身的权限?
是,谷歌播放服务的应用程序进行交互使用此权限吗?
此权限不能照顾这些事情?
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
我想使用自定义权限的就是让其他应用程序来启动/使用我们的应用程序的服务/资源。
对于未来的用户:
此权限是现在完全没有必要的。 谷歌的最新更新播放服务3.1.59使它无用。 其结果是,它可以被删除。
资源
这是您在使用时会看到相同的模式谷歌云端通讯(GCM) ,其C2D_MESSAGE
许可。 这样做是为了保护您的应用程序的端点(如广播接收器),使一些其他成分(地图API的大概一部分)可以在安全联系(否则,其他应用程序可以通过使用相同的意图过滤冒充您的应用程序)。
在这种情况下,那么,地图API内部这样的端点设置(透明地给你),可以,使用此权限,这端点,则无法模拟(因为这样做将需要的权限,这是受保护应用程序签名)。
此权限指定你的包名。 即
<permission
android:name="package_name.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="package_name.permission.MAPS_RECEIVE"/>
因此,谷歌的API只是让你的项目收到的地图。 允许了在何处使用API。
我发现,使用调试证书时,此权限仍然需要。 当我出口,并签署我的应用程序它工作得很好,但是当我使用调试证书这是行不通的。 我有两个我的调试证书,并使用相同的密钥相关的应用程序证书的MD5。 当我终于加入这些额外的权限,它的工作。 我使用的是极限摩托跑4.4的一切最新的。