Android的地图V2 - 为什么MAPS_RECEIVE许可(Android Map V2 -

2019-07-19 18:32发布

认为这是一个维基的问题。

当我安装我的项目,以支持地图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"/>

我想使用自定义权限的就是让其他应用程序来启动/使用我们的应用程序的服务/资源。

Answer 1:

对于未来的用户:

此权限是现在完全没有必要的。 谷歌的最新更新播放服务3.1.59使它无用。 其结果是,它可以被删除。

资源



Answer 2:

这是您在使用时会看到相同的模式谷歌云端通讯(GCM) ,其C2D_MESSAGE许可。 这样做是为了保护您的应用程序的端点(如广播接收器),使一些其他成分(地图API的大概一部分)可以在安全联系(否则,其他应用程序可以通过使用相同的意图过滤冒充您的应用程序)。

在这种情况下,那么,地图API内部这样的端点设置(透明地给你),可以,使用此权限,这端点,则无法模拟(因为这样做将需要的权限,这是受保护应用程序签名)。



Answer 3:

此权限指定你的包名。 即

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

因此,谷歌的API只是让你的项目收到的地图。 允许了在何处使用API​​。



Answer 4:

我发现,使用调试证书时,此权限仍然需要。 当我出口,并签署我的应用程序它工作得很好,但是当我使用调试证书这是行不通的。 我有两个我的调试证书,并使用相同的密钥相关的应用程序证书的MD5。 当我终于加入这些额外的权限,它的工作。 我使用的是极限摩托跑4.4的一切最新的。



文章来源: Android Map V2 - Why MAPS_RECEIVE permission