试图显示OpenStreetMap地图时,文件存储错误。

问题描述 投票:0回答:1

我的Android应用程序使用OpenStreetMap,已经完美地工作了几个月,现在无法再显示OpenStreetMap地图。尽管 WRITE_EXTERNAL_STORAGE 权限被授予后,我收到了这样的消息。

E/OsmDroid: Unable to start the SQLite tile writer. Check external storage availability.
I/StorageUtils: /storage/emulated/0 is NOT writable

由于我的目标是API29,并在Android 10手机上运行,我认为问题与外部存储访问的新政策和使用存储访问框架的要求有关。我说的对不对?

不管我说的对不对,有谁知道如何解决这个问题?

java android openstreetmap
1个回答
1
投票

因为你的目标是Andorid 10 - api 29,官方的Android文档规定。

在安卓10上运行

如果你的应用以Android 10为目标(API级别29),请选择退出作用域存储,并继续使用Android 9及以下版本的方法来执行此操作。

所以你需要在AndroidManifest.xml中添加。

<manifest ... >
<!-- This attribute is "false" by default on apps targeting
   Android 10 or higher. -->
    <application android:requestLegacyExternalStorage="true" ... >
     ...
    </application>
</manifest>

@blackapps 这不是一个黑客。

© www.soinside.com 2019 - 2024. All rights reserved.