KMLLayer в Android, невозможно в фоновом потоке на Android 10 - PullRequest
0 голосов
/ 07 августа 2020

Я хочу включить файл KML в свой компонент Google Maps в Android

InputStream targetStream = new FileInputStream(file);
KmlLayer layer = new KmlLayer(myGoogleMap, targetStream, getApplicationContext());

На Android 9 и раньше, это не проблема, когда я вызываю его только из фонового потока. На Android 10 я получаю

Can't create handler inside thread that has not called Looper.prepare()

из основного потока, эта ошибка исчезает. Я ничего не могу найти в документации, почему Android 10 запрещает это из фонового потока. Я вызываю addLayerToMap () впоследствии из основного потока, чтобы наконец добавить его на карту. Но я не могу вызвать new KmlLayer () из основного потока, потому что это приведет к зависанию всего моего приложения на 2 минуты.

Кто-нибудь нашел решение?

Спасибо, Крис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...