Geocoder.getFromLocation grpc a échoué sur Android périphérique réel
J'ai besoin d'obtenir de la ville et de l'état de la latitude et de la longitude. Geocoder n'cette fonction pour obtenir de la ville et de l'état. Mais j'obtiens une erreur java.io.IOException: grpc failed
en-dessous de la ligne uniquement sur Android périphérique réel. Il fonctionne très bien dans émulateurs.
new Geocoder(context).getFromLocation(latLng.latitude, latLng.longitude, 1).get(0);
Aussi j'ai été à l'appel de cette fonction à l'aide d'Asynctask qui est suggéré dans un autre post Geocoder grpc a échoué dans le débordement de la pile mais rien ne fonctionne pour moi.
Et j'ai redémarrer l'appareil en tant que bien, mais encore c'est un échec.
Besoin d'aide ici. Merci à l'avance.
Note: je l'ai testé dans Google Pixel XL, Samsung S6 edge, Samsung S4.
latLng.latitude, latLng.longitude
Quelles valeurs voulez-vous envoyer? Les valeurs Null?- Modifié la question
- Essayez ceci, en utilisant Geocoder en tant que service: developer.android.com/training/location/display-address#java
Vous devez vous connecter pour publier un commentaire.
Il ressemble à ce qui est en cours, problème qui a été signalé dans le Google outil de suivi réel des dispositifs et des émulateurs. Vous pouvez consulter les bugs suivants:
https://issuetracker.google.com/issues/64418751
https://issuetracker.google.com/issues/64247769
Malheureusement, Google n'ont pas résolu ces problèmes encore.
Comme une solution de contournement, vous pouvez envisager d'utiliser le Géocodage de l'API de service web. Veuillez noter qu'il y a un client Java de la bibliothèque pour les services web que vous pouvez trouver sur Github:
https://github.com/googlemaps/google-maps-services-java
À l'aide de Java de la bibliothèque du client pour les services web que vous pouvez mettre en œuvre le géocodage inversé de recherche qui ne devrait pas vous donner l'erreur que vous rencontrez avec Android natif geocoder.
La Javadoc de la bibliothèque du client est situé à
https://googlemaps.github.io/google-maps-services-java/v0.2.5/javadoc/
J'espère que cela aide!
Vérifier votre connexion internet .
ce qui se passe à un certain point, entre la recherche et les résultats de rendu , la connexion est soit lent ou ne fonctionne pas du tout . si l'erreur par défaut est aucune GRCP trouvé. votre code doit gérer ce type d'erreurs et d'empêcher le blocage de la carte
Qui s'est passé pour moi à la fois avec un réel et un périphérique émulé. Résolu mon redémarrer l'application après le nettoyage, le projet
Je viens de mettre mon appel dans un thread d'arrière-plan. Depuis qu'il est à l'intérieur d'un grpc appel lorsque vous appelez la
méthode
GRPC est Global d'Appels de Procédure Distante utilise le protocole HTTP 2.0. Ainsi, lorsque vous avez GRPC c'est un appel réseau. Afin de mettre en arrière-plan m'aide.
L'extrait de code ci-dessus est en Kotlin et utilise des Coroutines, mais vous pouvez faire la même chose en Java avec des Fils ou des Gestionnaires ou toutes les autres choses que nous avons pour les threads d'arrière-plan
J'ai eu la même erreur, donc la pensée est peut-être ça ne fonctionne pas après la lecture de ce post, qu'ils sont ouverts problème. Mais alors rendu compte plus tard que je suis à l'appel de cette méthode dans le thread Principal et qui était le problème.
Espère que cela aide
Pour moi, c'était le temps de périphérique. Je faisais quelques tests, et j'ai dû changer le périphérique de temps. Le temps de périphérique doit être réglé correctement, sinon vous obtenez cette erreur.