2014-06-12 78 views
2

我目前正在開發Android上的應用程序,該應用程序使用Kontakt提供的API檢測iBeacons,以執行Kontakt CMS在線配置的操作。使用Radius Networks檢測iBeacons UUID Android信標庫

但是,爲了檢測信標,我使用了Radius Networks BLE庫。我無法從信標中提取UUID,此功能僅適用於Pro Library嗎?如果它可用於開源庫,那麼如何使用它們的UUID檢測信標?

回答

1
Region region = new Region("myRangingUniqueId", uUID, null, null); 

應該可以通過範圍來獲得匹配來自didRangeBeaconsInRegion回調的uuid的信標列表。

除非你只想範圍內所有的包,然後你可以離開proxUuid場空(通配符),然後遍歷並與 iBeacons.iterator()獲得proxIds。下一個()。getProximity()

+0

謝謝!它在Ranging Activity中爲我工作。 – Kazykiddo

+0

@lundhjem:我無法檢測到多個信標。它背後有什麼理由。我保持uuid,輕微的主要null。 – Dhrupal

0

是的,你可以用開放源代碼Android iBeacon Library來做到這一點。

首先,通過驗證您是否可以使用免費的iBeacon Locate app檢測熱,確保您的信標正確傳輸。

如果此方法有效,請查看「測距示例代碼」here,其中顯示瞭如何閱讀信標ID。

編輯:這個庫已被一個Android Beacon Library 2.0取代。測距示例現在可用here

+0

嗨,我可以在RangingActivity中使用它來顯示UUID - iBeacons.iterator()。next()。getProximityUuid。但是我無法在MonitoringActivity中實現這一點。我錯過了什麼? – Kazykiddo

+0

這是正確的。監控API旨在僅在您進入或退出信標「區域」時纔會通知您。它沒有告訴你觸發'Region'進入/退出的特定'Beacon's。爲此,您應該使用測距API。 – davidgyoung

+0

「測距示例代碼」鏈接已損壞。 – Sam