2016-03-17 6 views
1

Я разрабатываю приложение, которое обеспечивает фоновый контроль маяка. Я хотел бы начать гадать, когда пользователь вводит маяк из определенной области. К сожалению, я не могу определить регион для профиля Eddystone. Когда я создаю объект региона с Eddystone NamespaceID Идентификатор бросает разбор исключения ...AltBeacon: Android Beacon Library. Как определить регион для Eddystone?

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

Когда идентификатор в формате UUID или целом числе в соответствии с Документами (https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/Identifier.html) синтаксические работает отлично. Итак, когда Beacon установлен в Eddystone, NamespaceID - это первый идентификатор, который должен определять регион точно так же, как UUID - это первый идентификатор в профиле iBeacon. Правильно ли я это понимаю? Если я прав в этой ситуации, я не могу проанализировать Eddystone NamespaceID как идентификатор для региона и не могу контролировать, будут ли пользователем вводиться маяки, которые настроены на использование профиля Eddystone. Пожалуйста, поправьте меня, если я ошибаюсь, и, пожалуйста, расскажите мне, как определить регион для маяков Eddystone.

Спасибо!

ответ

1

Вы можете определить область, которая соответствует в Eddystone-UID namespaceID так:

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

Хитрость заключается в том, чтобы префикс идентификатора с «0x», чтобы указать библиотеку, что идентификатор является многобайтный шестнадцатеричное значение. Для удобства префикс не нужен при анализе идентификаторов из UUID или целочисленных значений, но один из них необходим для многобайтовых шестнадцатеричных значений, иначе не было бы возможности различать «0x1000» (4096 десятичных) и «1000» (1000 знаков после запятой).

Посмотреть более подробную информацию о работе с Eddystone-UID с Android Beacon Library здесь:

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

+0

Эхх ... Это было так просто. Спасибо! – Zygi