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 συσκευές επιστρέφει ένα αρχείο καταγραφής σφαλμάτων:

geocoder E / λάθους: java.io.IOException: Netcode: -1000, NetRes: {}

Προσπάθησα να ψάξετε για αυτό, αλλά δεν βρήκε λύση. Πώς μπορώ να το διορθώσω αυτό;

Δημοσιεύθηκε 06/09/2018 στις 07:43
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Όπως Gencoder doc λένε: Χρησιμοποιήστε τη μέθοδο 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