Sal*_*han 7 android ibeacon ibeacon-android estimote android-ibeacon
我正在开发一个我正在使用Beacons的应用程序.我已经完成了相关的Estimote SDK.现在问题是我需要知道特定灯塔的唯一ID.假设我有3个信标,并且所有信标都存在于设备的范围内.现在我想根据信标的唯一ID执行不同的功能.为此,我需要知道每个灯塔的唯一ID.目前我正在为Beacon提供UUID,只是检查它是否在设备区域内.我的代码如下: -
private static final String ESTIMOTE_PROXIMITY_UUID = "XYZ";
private static final Region ALL_ESTIMOTE_BEACONS = new Region("regionId",ESTIMOTE_PROXIMITY_UUID, null, null);
beaconManager.setMonitoringListener(new MonitoringListener() {
@Override
public void onExitedRegion(Region region) {
//Region Exited
}
@Override
public void onEnteredRegion(Region arg0, List<Beacon> arg1) {
// TODO Auto-generated method stub
//Do something ...
}
});
Run Code Online (Sandbox Code Playgroud)
现在我需要以编程方式获取Beacon的唯一ID,以便我可以根据ID做出决定.请帮我整理一下.任何帮助都会很明显.谢谢.
每个灯塔都有ID.
ID是20个字节长,分为三个部分:
proximityUUID (16个字节)
major 数字(2个字节)
minor 数字(2个字节).
如何使用它们来识别特定的灯塔?
首先,你必须要知道你周围可能会有很多信标.这些信标可能来自其他供应商,公司或开发人员,因此您希望将其过滤掉.
要过滤信标,您应该使用proximityUUID您或您公司提供的信标分组.给proximityUUID你所有的信标都一样.
之后,您可以通过以下方式开始监控和测距:
private final Region MY_BEACONS = new Region("MY_BEACONS","YOUR_PROXIMITY_UUID", null, null);
beaconManager.startMonitoring(MY_BEACONS);
beaconManager.startRanging(MY_BEACONS);
Run Code Online (Sandbox Code Playgroud)
现在,在您的听众中,当您的信标将在附近时,您将收到通知.
现在让我们假设你正在为这座城市的电影院写一个应用程序.每个电影院都有两个不同的信标来执行不同的操作.如何区分电影院的信标以及如何在特定的电影中为特定的灯塔做到这一点?
使用major和minor字段.例如:
major用于识别一个特定的电影的所有信标,minor用于识别一个特定的电影特定信标.以这种方式为信标创建ID时,您可以获取特定的信标并执行操作:
private final int SCARY_CINEMA_ID = 1111;
private final int SCARY_CINEMA_BEACON_1 = 1;
private final int SCARY_CINEMA_BEACON_2 = 2;
private final int COMEDY_CINEMA_ID = 2222;
private final int COMEDY_CINEMA_BEACON_1 = 1;
private final int COMEDY_CINEMA_BEACON_2 = 2;
@Override
public void onEnteredRegion(Region region, List<Beacon> beacons) {
for(Beacon beacon : beacons){
if(beacon.getMajor() == SCARY_CINEMA_ID){
if(beacon.getMinor == SCARY_CINEMA_BEACON_1){
//do something for this beacon
} else{
//do something for second beacon in cinema
}
} else if(beacon.getMajor == COMEDY_CINEMA_ID){
...
}
}
Run Code Online (Sandbox Code Playgroud)
希望,那会帮助你:)
| 归档时间: |
|
| 查看次数: |
4580 次 |
| 最近记录: |