如何使用 Android Beacon Library 在监控模式下从 Eddystone Beacon 获取 url?
How to get url from Eddystone Beacon on monitoring mode using Android Beacon Library?
我已经看到一些示例如何通过测距而不是通过监视来获取 Eddystone 信标的 URL 帧
beaconManager.setRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
for (org.altbeacon.beacon.Beacon beacon: beacons) {
if (beacon.getServiceUuid() == 0xfeaa && beacon.getBeaconTypeCode() == 0x10) {
// This is a Eddystone-URL frame
String url = UrlBeaconUrlCompressor.uncompress(beacon.getId1().toByteArray());
Log.d("Eddystone", "I see a beacon transmitting a url: " + url +
" approximately " + beacon.getDistance() + " meters away.");
}
}
}
});
在 didRangeBeaconsInRegion 上有一个 org.altbeacon.beacon.Beacon 参数。但是为了监控 didEnterRegion 只有 Region 作为参数。
@Override
public void didEnterRegion(Region region) {
}
那么,如何在监控模式下获得 eddysone 信标的 url?可能吗?
您必须使用测距 API 来读取实际标识符。虽然可以使用监控来检测 Eddystone-URL 信标传输,因为该帧具有只有一个标识符(URL),您必须根据预先知道的 URL 标识符(不是很有用)进行监视,或者监视所有标识符。
在后一种情况下,这会产生读取标识符的问题,因为监控回调只有您描述的区域对象。
解决方法是在监控的同时进行测距。测距回调将为您提供检测到的信标的完整列表,并让您可以访问 URLs.
我已经看到一些示例如何通过测距而不是通过监视来获取 Eddystone 信标的 URL 帧
beaconManager.setRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
for (org.altbeacon.beacon.Beacon beacon: beacons) {
if (beacon.getServiceUuid() == 0xfeaa && beacon.getBeaconTypeCode() == 0x10) {
// This is a Eddystone-URL frame
String url = UrlBeaconUrlCompressor.uncompress(beacon.getId1().toByteArray());
Log.d("Eddystone", "I see a beacon transmitting a url: " + url +
" approximately " + beacon.getDistance() + " meters away.");
}
}
}
});
在 didRangeBeaconsInRegion 上有一个 org.altbeacon.beacon.Beacon 参数。但是为了监控 didEnterRegion 只有 Region 作为参数。
@Override
public void didEnterRegion(Region region) {
}
那么,如何在监控模式下获得 eddysone 信标的 url?可能吗?
您必须使用测距 API 来读取实际标识符。虽然可以使用监控来检测 Eddystone-URL 信标传输,因为该帧具有只有一个标识符(URL),您必须根据预先知道的 URL 标识符(不是很有用)进行监视,或者监视所有标识符。
在后一种情况下,这会产生读取标识符的问题,因为监控回调只有您描述的区域对象。
解决方法是在监控的同时进行测距。测距回调将为您提供检测到的信标的完整列表,并让您可以访问 URLs.