Я использую версию 2.5.1 Android Beacon Library с недавно добавленной поддержкой Eddystone. . Я изо всех сил пытаюсь создать новый регион с заданным URL-адресом, чтобы фильтровать только маяки с этим URL-адресом. Например, я хочу обрабатывать только маяки, начинающиеся с http://example.com
.
Макет BeaconParser, который я использую, устанавливает (в моем случае) фиксированную длину Scheme+Host+TLD в Id1 и путь к Id2.
Как мне создать такой Identifier
для URL-маяка Eddystone?
Я хочу создать новый регион следующим образом:
Identifier exampleIdentifier = Identifier.parse("http://example.com");
Region exampleRegion = new Region("Example Region", exampleIdentifier, null, null);
Очевидно, это не работает, потому что синтаксический анализатор не может обработать данный URL-адрес. Это еще не поддерживается, или я здесь совершенно не на том пути?
Что сработало для меня, так это сначала преобразовать идентификатор во что-то, что понимает библиотека (например, в шестнадцатеричной нотации), а затем попытаться проанализировать это ( .parse("0x123456..." )
. Но я не уверен, что это лучший и самый чистый способ сделать это.