저는 android 6.0에서 osmdroid 5.4.1 lib를 사용하고 있습니다. 실시간으로 WRITE_EXTERNAL_STORAGE 및 ACCESS_COARSE/FINE_LOCATION 권한을 요청합니다. 그러나 작동하지 맵 :marshmallow에서 osmdroid 및 동적 권한
스트림 디코딩 할 수 없습니다 : java.io.FileNotFoundException을 ... 실패 엽니 다 EACCES를 (사용 권한이 거부)
onRequestPermissionsResult()의 내 주요 활동은 사용자 후 다음 호출
이public void initTileSources() {
mMapnikTileSource = new XYTileSource(MAPDIR_MAPNIK, 1, MAXZOOMLEVEL, 256, ".png", new String[]{"http://tile.openstreetmap.de/",
"http://tile.openstreetmap.org/"});
mMapView.setTileSource(mMapnikTileSource);
mSeamarksTileSource = new XYTileSource(MAPDIR_SEAMARK, 1, MAXZOOMLEVEL, 256, ".png", new String[]{
"http://t1.openseamap.org/seamark/", "http://tiles.openseamap.org/seamark/"});
TilesOverlay SeamarksOverlay = new TilesOverlay(new MapTileProviderBasic(getActivity(), mSeamarksTileSource), getActivity());
SeamarksOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
mMapView.getOverlays().add(SeamarksOverlay);
// mMapView.invalidate();
}
맵뷰 MapView 만 SeamarksOverlay (openseamap)를 표시하지만 주요 mMapnikTileSource (OpenStreetMap에) : 저장 쓰기 권한을 부여했습니다. 지도 뷰가 모든 것을 올바르게 표시하려면 앱을 다시 시작해야합니다.
비슷한 question을 stackoverflow에서 보았지만 아직 답변되지 않았습니다.
아무도 도와 줄 수 있습니까? 미리 감사드립니다.