【问题标题】:Change offline maps directory to SD. HERE-Maps SDK将离线地图目录更改为 SD。 HERE-地图 SDK
【发布时间】:2017-02-06 11:45:37
【问题描述】:

我们如何更改目录以下载地图。默认情况下,它是内部存储。但我需要用户选择下载目录(设备/SD)。

我尝试使用 setIsolatedDiskCacheRootPath 方法。当我使用 SECONDARY_STORAGE 路径时,SDK 未初始化。当我使用EXTERNAL_STORAGE成功改变目录,但是这个目录位于设备内存中(“/storage/emulated/0”)。

      com.here.android.mpa.common.MapSettings.setIsolatedDiskCacheRootPath(
                System.getenv("SECONDARY_STORAGE")+"/heremap"
                , "MyHereMapService");

清单:

    <service
        android:name="com.here.android.mpa.service.MapService"
        android:exported="true"
        android:label="MyHereMapService"
        android:process="global.Here.Map.Service.v2">
        <intent-filter>
            <action android:name="MyHereMapService" />
        </intent-filter>
    </service>

更新: 我能够获得通往 SD 的真正途径。我使用方法 ContextCompat.getExternalFilesDirs(activity, null),它返回到 SD 卡(二级存储)的真实路径。

【问题讨论】:

  • .. to download the map。哪张地图?
  • @greenapps ,这里地图。 SDK 允许您下载地图并将其保存在设备内存中。(默认情况下)。但我想更改默认目录。
  • System.getenv("SECONDARY_STORAGE") 返回什么?我不希望它会在大多数设备上设置。
  • @DavidLeong,System.getenv("SECONDARY_STORAGE") 返回“/storage/extSdCard”。在另一台设备上返回“/storage/sdcard1”。并且在这两种设备上,SDK 都不会初始化。
  • 你的应用有android.permission.WRITE_EXTERNAL_STORAGE权限吗?

标签: android here-api


【解决方案1】:

总结:有可能将缓存目录更改为 sd。用户选择 ContextCompat.getExternalFilesDirs(activity, null) 方法,该方法返回辅助存储的路径。 关于默认的 here-map 缓存目录:如果您使用隔离磁盘缓存 API,则没有默认目录。它将缓存到您指定的任何文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 2016-12-21
    • 2022-06-20
    • 1970-01-01
    • 2016-02-29
    • 2022-11-04
    相关资源
    最近更新 更多