Geocoder avkastning adresse i Android emulator men ingen i telefonen min

stemmer
0

Jeg har det problemet at hvis jeg prøver å få en adresse med geocoder.getFromLocationName ( California, 1) funksjon, grunnlegger den adressen, men hvis jeg teste det på min enhet (Xiaomi Mi5, Oreo) returnerer en tom liste.

Takk på forhånd!

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

}
Publisert på 28/04/2018 klokken 11:14
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Har du gitt Sted tillatelse til søknaden din på telefonen din? hvis ikke .. gå til yourapp >> tillatelse >>> locationPermission ...

Svarte 28/04/2018 kl. 11:25
kilden bruker

stemmer
0

Det kan ha vært forårsaket av en feil i produsentens implementering eller en bevisst mangel på denne funksjonen. Som nevnt her: https://developer.android.com/reference/android/location/Geocoder

Den Geocoder klassen krever en backend tjeneste som ikke er inkludert i kjernen android rammeverk. De Geocoder spørre metoder vil returnere en tom liste hvis det ikke backend tjeneste på plattformen. Bruk isPresent () metode for å bestemme hvorvidt en Geocoder gjennomføring eksisterer.

Svarte 11/05/2018 kl. 11:57
kilden bruker

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