问题
I'm using osmdroid 5.2
lib in android 6.0
. I'm asking WRITE_EXTERNAL_STORAGE and ACCESS_COARSE / FINE_LOCATION permissions on realtime
.
But map not working:
Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/osmdroid/tiles/Mapnik/14/10079/5358.png.tile: open failed: EACCES (Permission denied)
Map works only from the second run application.
Can anyone help me? Thanks in advance.
回答1:
You have to ask for the permissions before the mapview is loaded and displayed.
Either that, or the path is read only. On some android devices Environment.getExternalStorageDir
returns a read only partition. No clue why, but that will definitely cause issues. It can be overridden with the class OpenStreetMapTileProviderConstants
来源:https://stackoverflow.com/questions/39358631/osmdroid-and-marshmallow