Android nouvelle Clôture de l'Api de l'Échantillon ne contient pas de code d'alerte/avertir quand à l'emplacement
J'ai besoin d'un peu de clarté sur l'exemple de code fourni avec Clôture guide posté ici :
https://developer.android.com/training/location/geofencing.html
J'ai couru le code et je vois que les barrières géographiques sont créés correctement, mais ce que je veux vraiment, c'est un moyen d'obtenir alerté lorsque je roule à ceux geofenced endroits. Maintenant, quand je vais au-delà de ces geofenced spots, rien ne se passe (ReceiveTransitionsIntentService n'est pas appelé), pas de notifications, rien.
Dois-je aussi écouter périodique de l'emplacement des mises à jour et pass lat/lng à la ci-dessus morceau de code manuellement pour indiquer ma position actuelle? Je pensais que cela devrait être automatique lorsque l'on ajoute des barrières géographiques pour LocationClient, mais je suppose qu'il est le plus.
J'ai aussi essayé l'enregistrement d'un LocationRequest à la LocationClient exemple, mais toujours pas d'alertes :
mLocationRequest = LocationRequest.create();
mLocationRequest.setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS);
mLocationClient.requestLocationUpdates(mLocationRequest, (LocationListener)mActivity);
Comment intégrer la Clôture de l'api de localisation?
J'ai créer un rayon de 500m, je ne la transition à travers cette zone de gardiennage virtuel, mais pas de chance pour vous informé. J'ai augmenté le rayon de 2000m, mais encore ReceiveTransitionsIntentService n'est pas appelé.
Une chose que j'ai remarqué lors de l'exécution de l'exemple de code est que lorsque je suis déjà à l'intérieur de la zone de gardiennage virtuel et j'ai ajouter la clôture géographique à LocationClient, la notification se produit. Mais si je suis à l'extérieur quand j'ai ajouté la clôture géographique et plus tard, j'ai à l'intérieur de la clôture, puis rien ne se passe, son pur silence radio.
C'est assez urgent, quelqu'un Peut-il aider s'il vous plaît?
Comment avez-vous résolu?
OriginalL'auteur Torri Veganas | 2013-05-22
Vous devez vous connecter pour publier un commentaire.
J'ai aussi eu des problèmes. Assurez-vous que votre chemin est défini correctement lors de l'ajout de ce service à votre AndroidManifest. J'ai aussi dû changer la valeur exportée à true.
Vous devez également ajouter les méta-données de la balise dans votre Manifeste pour spécifier votre google gms version.
J'ai créé une version beaucoup plus simple de le Google exemple, avec le code et plus d'explication, ici. Espérons que ça aide!
OriginalL'auteur mari
Malheureusement, cela semble être le comportement attendu. La Clôture de l'API est mis en place pour écouter localisation automatique des mises à jour sur le périphérique. Cela fonctionne, en général, lorsque vous vous installez dans un lieu, mais comme vous l'avez dit, si vous conduisez à travers une clôture ou vous en avez un avec un rayon de quelques mètres seulement, vous êtes susceptible de manquer. L'API est dit de vérifier automatiquement votre comportement (la marche, la conduite, etc.) et de mettre à jour plus fréquemment dans l'affirmative, mais cela ne semble pas être le cas.
Vous remarquerez si vous avez Google Maps ouvertes et le suivi de votre emplacement, les clôtures seront correctement déclenché.
Vous pouvez donc supposer que la seule solution est de mettre en place votre propre service de sondages pour l'emplacement à des intervalles définis (Google recommande de 20 secondes https://www.youtube.com/watch?v=Bte_GHuxUGc) qui va alors forcer un lieu de diffusion à ces intervalles. Barrières géographiques sont alors automatiquement déclenchée si elles sont à l'intérieur de cet endroit.
OriginalL'auteur Joss Stuart
Des notes rapides: s'Assurer que vous avez les bonnes transitions sélectionnées. Vous pouvez définir à la fois l'entrée et la sortie de transition.
L'extrait de code pour Geofencing ne pas afficher une notification. C'est un choix délibéré, les notifications ne sont pas toujours la meilleure réponse à une transition. L'échantillon application affiche une notification, et vous pouvez voir si vous téléchargez l'exemple.
Les Services de localisation fait de son mieux pour identifier votre emplacement.
Rappelez-vous aussi que vous avez à demander ACCESS_FINE_LOCATION.
Vous ne trouverez pas quelque chose de spécifique au sujet de la clôture géographique de suivi (ou de tout autre élément lié à l'emplacement) dans un contexte de "processus". Tout cela est au sein de Google Play services.
OriginalL'auteur Joe Malin
@andrewmolo
J'ai eu le même problème quand j'ai essayé.
Vous devriez set-up de bonne construction de chemin d'accès et bibliothèque pour votre projet. Il a travaillé pour moi quand je le programme d'installation de la manière suivante.
Vous assurer que vous avez
Également dans l'ordre et de l'exportation, vous devriez avoir Api Google en bas de la position et de tous les autres sélectionnés.
OriginalL'auteur Savan Patel
J'ai eu quelques difficultés avec l'exemple de code. Voici ce qui a fonctionné pour moi.
OriginalL'auteur Marc
GPS n'est jamais activé par le geofencing API (ce qui est affreux, j'ai besoin de réactif barrières géographiques merde et ne se soucient pas de la consommation d'énergie). Cela n'est pas mentionné nulle part dans la documentation. Aussi, sans GPS on ne peut pas espérer avoir de plus petites barrières géographiques en raison de l'absence de précision avec wifi/cellulaire.
Vous avez à interroger le GPS séparément avec une valeur null gestionnaire de sorte que la peine emplacements prévus à cet null gestionnaire obtenez également fourni pour le geofencing de l'API, de manière fiable le déclenchement de votre barrières géographiques.
OriginalL'auteur stealthwang
Remarque l'exemple contient une erreur qui feront de vos clôtures expire au bout de 12 minutes au lieu de l'12 heures...
Pour résoudre changement
à
dans MainActivity
OriginalL'auteur shilgaron