Geocoder vrací řešit v Android emulátoru, ale nikdo v mém telefonu

hlasů
0

Mám problém, že když jsem se snažit získat adresy pomocí funkcí na geocoder.getFromLocationName (, 1 „Kalifornie“), že založí adresu, ale když jsem vyzkoušet na svém zařízení (Xiaomi MI5 Oreo) vrací prázdný seznam.

Díky předem!

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

}
Položena 28/04/2018 v 11:14
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Už jste daném místě oprávnění k aplikaci v telefonu? ne-li .. jít do yourapp >> svolení >>> locationPermission ...

Odpovězeno 28/04/2018 v 11:25
zdroj uživatelem

hlasů
0

Mohlo by to být způsobeno chybou v implementaci výrobce nebo úmyslné nedostatek této funkce. Jak je uvedeno zde: https://developer.android.com/reference/android/location/Geocoder

Třída Geocoder vyžaduje backend službu, která není zahrnuta v základním android rámce. Metody dotazu Geocoder vrátí prázdný seznam, pokud neexistuje backend služby na platformě. Pomocí metody isPresent () k určení, zda existuje implementace Geocoder.

Odpovězeno 11/05/2018 v 11:57
zdroj uživatelem

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