13

Servizio GeoCoder non disponibileServizio GeoCoder non disponibile

Sto utilizzando la GeoCoder per ottenere un AddressLocation. Sfortunatamente il metodo attiva un IOException saying: "Service not Available".

This StackOverFlow thread spiega cosa sta succedendo perché l'ho testato a fondo (permessi utente, build versioni, riavvii, limiti API GeoCoding, ecc.).

Il Google Play-Services (o LocationService) che è possibile trovare in: Impostazioni Android -> (Gestione) Applicazioni -> Processo in esecuzione, si è arrestato in modo anomalo o si è arrestato. Si riavvia ma dimentica di associare GeoCoderService a NetworkLocator.

La "Soluzione" a questo bug è di riavviare il telefono Android, perché al riavvio il GeoCoderService viene associato al NetworkLocater. Ovviamente non trovo questa soluzione.

DOMANDA

La mia domanda è, come si fa l'incidente LocationService o ottenere fermato in primo luogo?

Quello che ho fatto è forzare manualmente il servizio Google Play e alcuni dispositivi hanno riavviato il LocationService ma altri no.

NON FUNZIONA (non riavviare LocationService)

  • 4.0.3 Samsung Galaxy Note (GT-N7000)
  • 4.0.4 Samsung GT-P7100 Tablet
  • 4.1.2 Nexus S
  • 4.1.2 per Samsung Galaxy S III (GT-I9300)

LAVORO (fatto LocationService riavvio)

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

Qualcuno sa quale sia la ragione per cui il servizio Google Play (LocationService) si arresta in modo anomalo o viene interrotto dopo un po 'di tempo?

Ho già inoltrato questo problema al b.Android.com e agli sviluppatori Android contattati personalmente.

ho visto che il mio problema è stato discusso in altri thread, ma non tirare nessuna conclusione:

+0

Ha funzionato per me Spero che il accade con voi [StackOverflow Link] [1] [1]: http://stackoverflow.com/questions/15110528/service-not- disponibile-mentre-chiama-geocoder-getfromlocation – ArhatBaid

risposta

1

È possibile aggiungere il Samsung Galaxy S II con Android 4.1.2 alla tua lista NON FUNZIONANTE. Questo è un bug fastidioso e una soluzione è di accedere all'API GMaps in modo diretto. Dal mio punto di vista succede quando l'utente uccide tutte le app con il task manager integrato per liberare risorse/memoria.

0

Provare a riavviare il servizio "Posizione di rete" nelle app di Manege.

2

Alcuni dispositivi non dispongono di supporto per Geocoder, quindi quello che devi fare è creare il tuo geocoder.

In pratica è necessario creare un'attività asincrona per richiedere a Google l'indirizzo e trattare la risposta JSON.

Utilizzando aquery, faccio qualcosa di simile:

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

Ho avuto lo stesso errore, aggiungere sotto i permessi per risolverlo.

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

Riavvia dispositivo di controllo di nuovo (ho stesso problema faccia.)