2016-03-17 8 views
1

Je suis en train de développer une application qui fournit une surveillance de Beacon en arrière-plan. Je voudrais commencer à mesurer quand l'utilisateur entre dans la balise de la région définie. Malheureusement, je ne peux pas définir de région pour le profil Eddystone. Lorsque je crée objet région avec l'identificateur Eddystone espace-noms lance l'analyse exception ...AltBeacon: Bibliothèque de balises Android. Comment définir la région pour Eddystone?

Region region = new Region("backgroundRegion",Identifier.parse("f7826da6bc5b71e0893e"), null, null); 

Lorsque Identificateur est au format UUID ou entier selon Documents (https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/Identifier.html) analyse fonctionne très bien. Ainsi, lorsque Beacon est défini sur Eddystone, NamespaceID est le premier identificateur qui doit définir la région exactement comme UUID est le premier identificateur du profil iBeacon. Est-ce que je le comprends bien? Si je suis dans cette situation, je ne peux pas analyser Eddystone NamespaceID en tant qu'identifiant pour la région et ne peux pas surveiller si l'utilisateur entre des balises qui sont définies pour utiliser le profil Eddystone. Corrigez-moi si je me trompe et dites-moi comment définir la région pour les balises Eddystone.

Merci!

Répondre

1

Vous pouvez définir une région qui correspond à un espace-noms Eddystone-UID comme ceci:

Region region = new Region("my-beacon-region", Identifier.parse("0xf7826da6bc5b71e0893e"), null, null); 

L'astuce consiste à préfixer l'identifiant « 0x » pour indiquer à la bibliothèque que l'identifiant est un multi-octets valeur hexadécimale Par commodité, un préfixe n'est pas nécessaire lors de l'analyse des identificateurs UUID ou entiers, mais un est nécessaire pour les valeurs hexadécimales multi-octets sinon il n'y aurait aucun moyen de différencier "0x1000" (4096 décimal) et "1000" (1000 décimal).

Voir plus de détails sur le travail avec Eddystone-UID avec le Android Beacon Library ici:

http://altbeacon.github.io/android-beacon-library/eddystone-how-to.html

+0

ehh ... Il était si simple. Je vous remercie! – Zygi