Геокодер работает в эмуляторе 1.6, но не в эмуляторе 2.2.

getFromLocationName() всегда выдает NullPointerException в эмуляторе Android 2.2, но он отлично работает в эмуляторе Android 1.6.

Это мой фрагмент кода:

Geocoder geo = new Geocoder(GeocoderAppActivity.this, Locale.getDefault());     

try {       
    List<Address> add = geo.getFromLocationName("Tagore Road,Rajkot", 1);
    while (add.size() == 0) {
        Log.e("Girish", "in while");
        add = geo.getFromLocationName("Tagore Road,Rajkot", 1);
    }
}

Что не так?


person Community    schedule 14.12.2011    source источник


Ответы (3)


В эмуляторе вы используете обычную версию Android 2.2 или версию Google Apis [Android 2.2]?

Если вы используете обычный Android 2.2, он не будет работать. Насколько я знаю, у него нет функциональности для выполнения ваших действий. Откройте диспетчер SDK, загрузите Google Apis [Android 2.2] и создайте с ним AVD. Затем попробуйте еще раз, должно получиться.

person Sander van't Veer    schedule 14.12.2011
comment
да, я знаю, что использую google api 2.2 и тестировал в google api 2.2. - person ; 14.12.2011

Это известная ошибка, которую они так и не исправили, см. сервис недоступен. думаю, вы обнаружите, что он работает в эмуляторе API уровня 7.

person NickT    schedule 14.12.2011

Да, это ошибка, но я думаю, что она будет работать на устройстве.

person Arun Badole    schedule 14.12.2011
comment
Вы тестировали это на реальном устройстве Android 2.2? - person ; 14.12.2011
comment
Проверьте это stackoverflow.com/questions/4761052/ - person Arun Badole; 15.12.2011