13

Geocoder Услуга недоступнаGeocoder Услуга недоступна

Я использую GeoCoder получить AddressLocation. К сожалению, метод запускает IOException saying: "Service not Available".

This StackOverFlow thread объясняет, что происходит, потому что я тестировал его полностью (разрешения пользователя, версии сборки, перезагрузки, ограничения API GeoCoding и т. Д.).

Google Play-Services (или LocationService), которые вы можете найти в: Настройки Android -> (Управление) Приложения -> Выполнение процесса, разбился или остановился. Он перезапускается, но забывает связывать GeoCoderService с NetworkLocator.

«Решение» этой ошибки заключается в перезагрузке телефона Android, поскольку при перезагрузке GeoCoderService привязан к NetworkLocater. Конечно, я не нашел это решение.

ВОПРОС

Мой вопрос, как же аварии LocationService или остановят в первую очередь?

Что я сделал, это принудительно остановить Google Play-Сервис вручную, а некоторые устройства перезапустили LocationService, но некоторые не сделали этого.

НЕ РАБОТАЮ (не перезагружать LocationService)

  • 4.0.3 Samsung Galaxy Note (GT-N7000)
  • 4.0.4 Samsung Tablet GT-P7100
  • 4.1.2 нексус S
  • 4.1.2 Samsung Galaxy S III (GT-I9300)

РАБОТА (сделал рестарт LocationService)

  • 2.3.5 HTC Wildfired S
  • 4.0.3 Acer A500
  • 4.1.1 Samsung Galaxy Note II (GT-7100)
  • 4.1.2 Samsung Galaxy S II (GT-I9105P)
  • 4.2.2 Samsung Tablet GT-P7500
  • 4.2.2 Nexus 7
  • 4,3 Galaxy Nexus

Кто-нибудь знает, в чем причина того, что служба Google Play (LocationService) сработала или перестала работать после запуска?

Я уже обострил эту проблему на b.Android.com и лично связался с разработчиками Android.

Я видел, что мой вопрос обсуждался в других потоках, но не тянуть какие-либо выводы:

+0

Он работал для меня, я надеюсь, что происходит с вами [StackOverflow Link] [1] [1]: http://stackoverflow.com/questions/15110528/service-not- имеющиеся в наличии в то время, позвонив-геокодер-getfromlocation – ArhatBaid

ответ

1

Вы можете добавить Samsung Galaxy S II с Android 4.1.2 на ваш НЕ РАБОТАЕТ. Это раздражающая ошибка, и работа над ней заключается в том, чтобы напрямую обращаться к API GMaps. С моей точки зрения, это происходит, когда пользователь убивает все приложения с помощью встроенного диспетчера задач для освобождения ресурсов/памяти.

0

Попробуйте перезапустить службу «Сетевое расположение» в приложениях Manege.

2

Некоторые устройства не имеют поддержки для Geocoder, поэтому вам нужно создать собственный геокодер.

В основном вам нужно создать задачу async, чтобы запросить у Google адрес и обработать ответ json.

Использование aquery, я сделать что-то вроде этого:

public void asyncJson(String address){ 
     address = address.replace(" ", "+"); 

     String url = "http://maps.googleapis.com/maps/api/geocode/json?address="+ address +"&sensor=true"; 

     aq.ajax(url, JSONObject.class, new AjaxCallback<JSONObject>() { 

       @Override 
       public void callback(String url, JSONObject json, AjaxStatus status) {       

         if(json != null){ 

           //here you work with the response json 
           JSONArray results = json.getJSONArray("results");        
           Toast.makeText(context, results.getJSONObject(1).getString("formatted_address")); 

         }else{         
           //ajax error, show error code 
           Toast.makeText(aq.getContext(), "Error:" + status.getCode(), Toast.LENGTH_LONG).show(); 
         } 
       } 
     });   
} 
0

Я имел ту же ошибку, добавьте ниже разрешений для ее разрешения.

<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
2

Restart проверка устройства снова (у меня есть лицо такой же вопрос.)