2016-06-14 2 views
0

У меня проблема с разрешениями API 23 и, в частности, на разрешение на хранение: После того, как я попрошу пользователя получить разрешение и получить ответы, я вызываю метод setTileSource(), но, как ни странно, я получаю голубую карту, как будто система плитки не имела доступа к хранилищу. Я могу создать папку между механизмом разрешений и инициализацией mapView без каких-либо проблем. Если я помещаю приложение в фоновом режиме и обратно на переднем плане, отображаются фрагменты.Поставщик плитки и права API 23

Я не видел ничего особенного в примере приложения, поэтому я не понимаю, что здесь происходит.

Есть идеи?

+0

Просто догадка, но это звучит, как вам нужно вызвать какое-то 'методу Refresh' или что-то вроде того. Похоже, что текущий контекст не знает, что у него есть разрешения. После того, как вы выполните фоновое и предварительное развертывание приложения, оно обновится и имеет разрешения и выполняется правильно. – amza

+0

@amza, конечно, но я делаю то же самое в обоих случаях, если мне нужно спросить разрешения, инициализация mapview просто задерживается. например, в следующий раз, когда я запустил приложение, я вижу, что у меня есть все разрешения, и я отлично отображаю карту. Итак, в первый раз, когда я запускаю приложение, я не понимаю, почему osmdroid не смог получить доступ к хранилищу для записи png, поскольку я могу написать в нем сам, прежде чем инициализировать mapview. – 2ndGAB

ответ

1

Если ваша стартовая активность содержит MapView в файле макета, карта будет раздуваться и инициализироваться при загрузке файла макета. Если вы запрашиваете разрешения перед инициализацией файла макета, это может решить проблему для вас.

Или перезапустить деятельность после того, как пользователь предоставил разрешение

Или простую активность запуска, предлагающую, затем загружает активность карты.

Или программно построить MapView и прикрепить ее после того, как разрешение выдано

0

К сожалению, проблема разрешения локализации

+0

Не могли бы вы добавить информацию к своему ответу? –

Смежные вопросы