Geocoder nejde o Oreo

hlasů
0

Mám aplikaci, která musí sbírat adresy ze značky na Google Maps API. Testoval jsem tento kód, a to funguje na zařízení se systémem 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());
        }

Ale při pokusu o spuštění na Android 8.1 zařízení se vrátí záznam o chybě:

E / error Geocoder: java.io.IOException: NetCode: -1000, NetRes: {}

Snažil jsem se hledat to ale nenašel řešení. Jak to mohu opravit?

Položena 06/09/2018 v 07:43
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Jak Gencoder doc říci: Pomocí metody isPresent () k určení, zda existuje implementace Geocoder.

takže volat metodu isPresent () na jedné straně, a ručně zkontrolovat stav sítě zařízení.

Pokud se stále selhalo, možná budete muset vytvořit vlastní implementaci Geocoder, odkaz je užitečné.

Odpovězeno 06/09/2018 v 08:11
zdroj uživatelem

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