Je reçois une erreur dans la fonction de rappel onAddGeofencesResult(int statusCode, String[] geofenceRequestIds)
avec statusCode = 1000
.
J'ai mon GPS activé et mon WiFi. J'ai également les services Google Play et je peux suivre ma position et demander des mises à jour. Pourquoi ne puis-je pas ajouter de geofences? Je ne suis pas en mesure d'ajouter des geofences même à partir de l'exemple d'application de documentation. Je reçois le message Toast suivant:
"Ajouter des clôtures géographiques: échec, code d'erreur 1000 GeofenceRequestIds = [1,2,1,2]"
De la documentation (statusCode 1000):
public static final int GEOFENCE_NOT_AVAILABLE
Le service Geofence n'est pas disponible actuellement. En règle générale, cela est dû au fait que l'utilisateur a désactivé l'accès à l'emplacement dans Paramètres> Accès à l'emplacement.
Valeur constante: 1000 (0x000003e8)
Vous obtenez GEOFENCE_NOT_AVAILABLE
(code "1000") lorsque l'utilisateur n'est pas d'accord avec "Utiliser les services de localisation de Google" dans Paramètres-> Localisation-> Mode:
Réparer:
J'obtenais le statusCode 1000 lorsque j'essayais d'exécuter cette application sur l'émulateur. La chose qui a corrigé cela était d'aller dans Paramètres-> emplacements et accès-> Cochez l'option activer le wifi et le gps sur l'émulateur et il le réparera
Est un peu plus tard, mais je viens d'avoir ce problème. Ma conjecture est:
vous utilisez n'importe quel type de faux GPS sur vos tests (Lockito, émulateur, etc.)?
Je prends quelques heures jusqu'à ce que je découvre que les faux emplacements semblent désactiver le support Geofence! Vous ne pouvez pas enregistrer ou déclencher une clôture géographique si vous n'êtes pas vraiment dans l'emplacement.
Si vous désactivez le faux GPS, le support Geofence redevient activé.
Publier cette réponse car les paramètres de Android ont beaucoup changé. J'ai eu cette erreur deux fois lorsque j'utilisais un émulateur Nexus 5X exécutant l'API 28. J'ai réussi à le résoudre les deux fois en procédant comme suit :
Rallumez votre application et l'ajout de clôtures géographiques a fonctionné pour moi après avoir pris ces mesures.
EDIT: J'ai rencontré à nouveau ce problème quelques mois plus tard, parfois l'émulateur est têtu et n'active pas correctement la précision de localisation pour permettre à l'API Geofence de Google de reconnaître qu'il est activé. J'avais activé et désactivé "Améliorer la précision de la localisation" au moins 10 fois avant que la précision de la localisation ne fonctionne.
Vous avez en fait donné la réponse dans votre question: le service Geofence n'est pas disponible actuellement. En règle générale, cela est dû au fait que l'utilisateur a désactivé l'accès à l'emplacement dans Paramètres> Accès à l'emplacement.
J'ai eu ce même problème, et juste aller dans les paramètres -> emplacement et m'assurer que je sélectionne le mode pour une grande précision a résolu ce problème.
Le mode PS uniquement n'est pas assez bon, il doit être en mode haute précision.
J'espère que cela t'aides.
J'ai fait une stupide erreur:
Une erreur s'est produite car le périphérique n'a pas l'autorisation pour le GPS (service de localisation).
Plus de détails sur l'API Geofencing ici .
Captures d'écran pour référence:
J'espère que cela vous clarifiera.
Tout d'abord, votre téléphone doit être compatible: A compatible Android device that runs Android 2.2 or higher and includes Google Play Store.
Juste pour être sûr, vous devez avoir le service Google Play installé correctement .
Parfois, le simple redémarrage de votre téléphone peut résoudre ce problème.
J'espère que cette aide.