Geocoder επιστρέφει false για isPresent ()

ψήφοι
0

Έτσι έγραψα κάποιο κώδικα για χάρτες app μου, και λειτουργεί στο τηλέφωνό μου μια χαρά, δυστυχώς δεν λειτουργεί σε εξομοιωτή μου, η οποία δεν είναι αρκετά άνετα για μένα εδώ είναι ο κώδικας:

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

Έτσι, όταν το debug βλέπω ότι μεταβλητή «α» είναι πάντα ψευδής σε εξομοιωτή μου.

Χρησιμοποιώ το Android emulator για το Visual Studio επειδή έχω έναν επεξεργαστή AMD (Ryzen 7 1800x) στην οποία θα εγκατασταθεί το google store παιχνίδι και το Google Play υπηρεσίες (χάρτης λειτουργεί μια χαρά, απλά geocoder δεν), τώρα είναι κάποιος τρόπος να το διορθώσω εκεί ;

Όπως διάβασα στο https://developer.android.com/reference/android/location/Geocoder.html ιστοσελίδα «Οι μέθοδοι ερώτημα Geocoder θα επιστρέψει μια κενή λίστα, αν δεν υπάρχει υπηρεσία παρασκηνίου στην πλατφόρμα.» Μπορώ να πάρω την υπηρεσία με κάποιο τρόπο; Κατεβάστε το σε εξομοιωτή ή κάτι μου αρέσει αυτό;

Δημοσιεύθηκε 24/04/2018 στις 08:14
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Κατ 'αρχάς, isPresent () είναι μια στατική μέθοδο, ώστε η κλήση θα πρέπει να είναι

Geocoder.isPresent();

μέθοδο IsPresent «Επιστρέφει true αν οι μέθοδοι Geocoder getFromLocation και getFromLocationName εφαρμόζονται» και ψευδείς διαφορετικά. Μερικές emulators δεν έχει εγκατασταθεί η υπηρεσία geocoder. Είναι η μέθοδος

geocoder.getFromLocationName 

επιστροφή ό, τι χρειάζεστε ή μια κενή σειρά;

απόσπασμα σας δουλεύει μια χαρά στο Nexus 6P Android 7.0 API 24 εξομοιωτή μου.

Απαντήθηκε 24/04/2018 στις 08:52
πηγή χρήστη

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