Geocoder не идет на Oreo

голоса
0

У меня есть приложение, которое необходимо собрать адрес от маркеров на Google Maps API. Я тестировал этот код и он отлично работает на устройствах, работающих на Android 6.0:

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
        try {
            List<Address> addressList1 = geocoder.getFromLocation(currentLatitude,currentLongitude,1);
            Address addressCurrent = addressList1.get(0);
            full_address = addressCurrent.getAddressLine(0); //Detail address
            country = addressCurrent.getCountryName();
            //locality =  addressCurrent.getLocality(); //sub-district
            admin_area = addressCurrent.getAdminArea(); //City
            sub_admin_area = addressCurrent.getSubAdminArea(); //District
            road_name = addressCurrent.getThoroughfare(); // road
            Toast.makeText(this, full_address, Toast.LENGTH_SHORT).show();
        }catch (IOException e){
            Toast.makeText(this, No Data, Toast.LENGTH_SHORT).show();
            Log.e(error geocoder, e.toString());
        }

Но когда я пытаюсь запустить на Android 8.1 устройств возвращает журнал ошибок:

геокодер Е / ошибка: java.io.IOException: сетевой код: -1000, NetRes: {}

Я пытался найти его, но не нашел решения. Как я могу это исправить?

Задан 06/09/2018 в 07:43
источник пользователем
На других языках...                            


1 ответов

голоса
0

Как Gencoder док сказать: Используйте метод isPresent () , чтобы определить , существует ли реализация Geocoder.

так называют метод isPresent (), во-первых, и вручную проверить состояние сетевого устройства.

Если все же не удалось, возможно , вам необходимо создать пользовательскую реализацию Geocoder, ссылку полезно.

Ответил 06/09/2018 в 08:11
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more