Geocoder false zurück auf isPresent ()

stimmen
0

Also schrieb ich einen Code für Karten in meiner app, und es funktioniert auf meinem Handy ganz gut, leider nicht auf meinem Emulator funktioniert, die für mich nicht bequem genug ist, hier ist der Code:

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

Also, wenn ich es debuggen ich sehe, dass die Variable „a“ auf meinem Emulator immer falsch ist.

Ich benutze Android-Emulator für Visual Studio, da ich einen AMD-Prozessor (Ryzen 7 1800x), auf das ich Google Play Store installiert und Google Play-Dienste (Karte funktioniert gut, nur Geocoder nicht), jetzt ist es eine Möglichkeit, es zu beheben ?

Wie ich gelesen habe auf https://developer.android.com/reference/android/location/Geocoder.html Website „Die Geocoder Abfragemethoden werden eine leere Liste , wenn es keinen Backend - Service in der Plattform zurück.“ Kann ich den Dienst irgendwie bekommen? Laden Sie es auf meinem Emulator oder so etwas?

Veröffentlicht am 24/04/2018 um 08:14
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Zuerst isPresent () ist ein statisches Verfahren, so sollte der Anruf sein,

Geocoder.isPresent();

IsPresent Methode „Gibt true zurück, wenn die Geocoder Methoden getFromLocation und getFromLocationName umgesetzt werden“ und andernfalls false. Einige Emulatoren haben nicht den Geocoder-Dienst installiert. Ist die Methode

geocoder.getFromLocationName 

Rückkehr, was Sie brauchen oder ein leeres Array?

Ihr Snippet funktioniert auf meinem Nexus 6P Android 7.0 API 24 Emulator gut.

Beantwortet am 24/04/2018 um 08:52
quelle vom benutzer

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