ritorna geocoder affrontano in emulatore di Android, ma nessuno nel mio telefono

voti
0

Ho il problema che se provo a ottenere un indirizzo con la funzione geocoder.getFromLocationName (, 1 California), si fonda l'indirizzo, ma se provo sul mio dispositivo (Xiaomi MI5, Oreo) restituisce una lista vuota.

Grazie in anticipo!

private void geoLocate(){
    Log.d(TAG, geoLocate: geolocating);
    String searchString = mSearchText.getText().toString();
    Log.d(TAG, geoLocate: Searching for  + searchString);
    Geocoder geocoder = new Geocoder(this);
    List<Address> list = new ArrayList<>();

    try{
        if(geocoder.isPresent()){
             list = geocoder.getFromLocationName(searchString,1);
        } else{
            Log.d(TAG, geoLocate: GEOCODER IS NOT PRESENT);
        }

    }catch (IOException e){
        Log.e(TAG, geoLocate: IOException  + e.getMessage() );
    }

    if(list.size() > 0 ){
        Address address = list.get(0);
        Log.d(TAG, geoLocate: found a location:  + address.toString());
    }else{
        Log.d(TAG, geoLocate: Location not found);
    }

}
È pubblicato 28/04/2018 alle 11:14
fonte dall'utente
In altre lingue...                            


2 risposte

voti
0

Hai dato il permesso Location per l'applicazione sul tuo cellulare? se non .. andare a YourApp >> >>> permesso locationPermission ...

Risposto il 28/04/2018 a 11:25
fonte dall'utente

voti
0

Potrebbe essere stata causata da un bug nell'implementazione del produttore o una deliberata mancanza di tale caratteristica. Come indicato qui: https://developer.android.com/reference/android/location/Geocoder

La classe Geocoder richiede un servizio di back-end che non è incluso nel quadro Android nucleo. I metodi di query Geocoder restituirà un elenco vuoto se non c'è il servizio di back-end nella piattaforma. Utilizzare il metodo isPresent () per determinare se esiste un'implementazione Geocoder.

Risposto il 11/05/2018 a 11:57
fonte dall'utente

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