Geocoder hamis értékkel tér vissza a isPresent ()

szavazat
0

Ezért írtam egy kódot térképek az én app, és működik a telefonon csak finom, sajnos ez nem működik a emulátor, amely nem elég kényelmes nekem itt a kód:

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

Tehát amikor azt debug meg látom, hogy „a” változóhoz mindig hamis én emulátor.

ÉN használ android emulátor visual studio, mivel van egy AMD processzor (Ryzen 7 1800x), amelyre telepítette Google Play Áruház és a Google Play szolgáltatások (térkép működik, csak finom, csak Geocoder nem), most van-e valamilyen módon kijavítani ?

Ahogy olvastam https://developer.android.com/reference/android/location/Geocoder.html honlapján „A Geocoder lekérdezési módszerek visszatér egy üres listát, ha nem backend szolgáltatás a platform.” Kaphatok a szolgáltatás valahogy? Töltsd le az én emulátor, vagy valami ehhez hasonló?

A kérdést 24/04/2018 08:14
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
0

Először isPresent () egy statikus módszer, így a hívás legyen

Geocoder.isPresent();

IsPresent módszer „true értékkel tér vissza, ha a Geocoder módszerek getFromLocation és getFromLocationName kerül sor”, és egyébként false. Néhány emulátor nincs Geocoder szolgáltatás telepítve van. Az eljárás

geocoder.getFromLocationName 

visszatérő, amire szüksége van, vagy egy üres tömböt?

A kódrészlet működik, csak finom én Nexus 6P Android 7.0 API 24 emulátor.

Válaszolt 24/04/2018 08:52
a forrás felhasználó

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