Geocoder devuelve false en isPresent ()

votos
0

Así que escribí algo de código para los mapas en mi aplicación, y funciona en mi teléfono muy bien, por desgracia, no funciona en mi emulador que no es lo suficientemente cómodo para mí aquí está el código:

String  searchString = mSearchText.getText().toString();

Geocoder geocoder = new Geocoder(this);
List<Address> list = new ArrayList<>();
try{
    int i=0;
    while(list.size()==0 && i<10) {
        boolean a = geocoder.isPresent();
        list = geocoder.getFromLocationName(searchString,1);
        i++;
    }
}catch(IOException e){
    Log.d(TAG, geoLocate: IOException  + e.getMessage());
}

Así que cuando elimino errores que veo que la variable a siempre es falsa en mi emulador.

Puedo usar emulador de Android para el estudio visual ya que tengo un procesador AMD (1800x Ryzen 7) en el que he instalado Google tienda de juego y servicios de Google Play (mapa funciona bien solo geocodificador, no lo hace), ahora hay alguna manera de solucionarlo ?

Como he leído en https://developer.android.com/reference/android/location/Geocoder.html sitio web Los métodos de consulta geocoder devolver una lista vacía si no hay servicio de back-end en la plataforma. ¿Puedo obtener el servicio de alguna manera? Descargarlo en mi emulador o algo así?

Publicado el 24/04/2018 a las 05:14
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

En primer lugar, isPresent () es un método estático por lo que la llamada debe ser

Geocoder.isPresent();

Método IsPresent "Devuelve true si los métodos Geocoder getFromLocation y getFromLocationName se implementan" y falso en caso contrario. Algunos emuladores no tienen instalado el servicio geocodificador. Es el método

geocoder.getFromLocationName 

devolver lo que necesita o una matriz vacía?

El fragmento funciona muy bien en mi Nexus 6P Android 7.0 API 24 emulador.

Respondida el 24/04/2018 a las 05:52
fuente por usuario

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