Geocoder geht nicht auf Oreo

stimmen
0

Ich habe eine Anwendung, die Adresse von einem Marker auf Google Maps API sammeln müssen. Getestet habe ich diesen Code und es funktioniert gut auf Geräten, die Android 6.0 laufen:

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());
        }

Aber wenn ich versuche, auf Android 8.1-Geräten ausgeführt es gibt ein Fehlerprotokoll:

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

Ich habe versucht, ihn zu suchen, aber keine Lösung gefunden. Wie kann ich dieses Problem beheben?

Veröffentlicht am 06/09/2018 um 07:43
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Wie Gencoder doc sagen: die isPresent () -Methode verwenden , um zu bestimmen , ob ein Geocoder Implementierung existiert.

so nennen isPresent () Methode zunächst und manuell Gerätenetzwerkstatus überprüfen.

Wenn noch immer nicht, vielleicht müssen Sie benutzerdefinierte Geocoder Implementierung erstellen, dieser Link ist hilfreich.

Beantwortet am 06/09/2018 um 08:11
quelle vom benutzer

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