【问题标题】:Google Map V2 - EXTERNAL_STORAGE permissions are optional for Android 6.0 onwards?Google Map V2 - EXTERNAL_STORAGE 权限对于 Android 6.0 及更高版本是可选的吗?
【发布时间】:2015-12-17 14:54:21
【问题描述】:

我对 Google Map V2 API 用于加载地图的清单拥有 WRITE_EXTERNAL_STORAGE 权限。

现在,我们正在构建应用程序以将 Android SDK 定位到 Marshmallow (23)。因此,在运行时请求所有DANGEROUS 权限以获得用户权限。所有其他权限都很好,但不确定我们应该如何处理WRITE_EXTERNAL_STORAGE 权限。即使没有向用户请求WRITE_EXTERNAL_STORAGE,谷歌地图也能正常工作。

在地图 Google Map ApiDemo 示例上,WRITE_EXTERNAL_STORAGE 在 manifest 上声明,但评论说 EXTERNAL_STORAGE permissions are optional for Android 6.0 onwards. https://github.com/googlemaps/android-samples/blob/master/ApiDemos/app/src/main/AndroidManifest.xml

我没有找到任何关于此的官方 android 文档。如果您知道有关EXTERNAL_STORAGE 权限的任何信息,请告诉我。

【问题讨论】:

  • 他们在一篇 Android 开发者博客文章 IIRC 中提到了它。
  • @CommonsWare - 谢谢。我们是否需要定位 play service to 8.3 version 以使其可选?
  • 可能,虽然我不确定。

标签: android google-maps android-permissions android-6.0-marshmallow


【解决方案1】:

来自Docs

如果您的目标是 8.3 版或更高版本的 Google Play 服务 SDK,则不再需要 WRITE_EXTERNAL_STORAGE 权限来使用 Google Maps Android API。

如果您针对的是早期版本的 Google Play 服务 SDK,则必须请求 android.permission.WRITE_EXTERNAL_STORAGE 权限。

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

注意:如果您的应用面向 API 级别 23 (Android 6.0),这需要使用运行时权限,您应该面向 8.3 或更高版本的 Google Play 服务 SDK。

【讨论】:

  • 感谢您提供详细信息。是否必须以google play service 8.3 为目标? .因为如果我们以 8.3 为目标,它会将 google wallet 替换为 android pay 。我们目前不支持android pay,但稍后会支持。此外,谷歌不允许混合播放服务库版本号。所以我们现在必须留下来玩服务 7.0。
猜你喜欢
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 2016-02-05
  • 2018-05-05
  • 2015-05-10
  • 2017-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多