如何在Android中使用Estimote SDK获取信标的唯一ID

如何在Android中使用Estimote SDK获取信标的唯一ID,第1张

概述我正在开发一个我正在使用Beacons的应用程序.我已经完成了相关的Estimote SDK.现在问题是我需要知道特定灯塔的唯一ID.假设我有3个信标,并且所有信标都存在于设备的范围内.现在我想根据信标的唯一ID执行不同的功能.为此,我需要知道每个灯塔的唯一ID. 目前我正在为Beacon提供UUID,只是检查它是否在设备区域内.我的代码如下: – private static final Str 我正在开发一个我正在使用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 ...            }        });

现在我需要以编程方式获取Beacon的唯一ID,以便我可以根据ID做出决定.
请帮我整理一下.任何帮助都会很明显.
谢谢.

解决方法 每个灯塔都有ID.
ID长度为20个字节,分为三个部分:

> proximityUUID(16字节)
>主要数字(2个字节)
>次要号码(2个字节).

如何使用它们来识别特定的灯塔?
首先,你必须要知道你周围可能会有很多信标.这些信标可能来自其他供应商,公司或开发人员,因此您希望将其过滤掉.
要过滤信标,您应该使用proximityUUID对您或您公司提供的信标进行分组.为所有信标提供相同的proximityUUID.之后,您可以通过以下方式开始监控和测距:

private final Region MY_BEACONS = new Region("MY_BEACONS","YOUR_PROXIMITY_UUID",null);beaconManager.startMonitoring(MY_BEACONS);beaconManager.startRanging(MY_BEACONS);

现在,在您的听众中,当您的信标将在附近时,您将收到通知.
现在让我们假设你正在为这个城市的电影院写一个应用程序.每个电影院都有两个不同的信标来执行不同的动作.
如何区分电影院的信标以及如何在特定电影中为特定的灯塔做到这一点?
使用主要和次要字段.例如:

>使用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){          ...        } }

希望,那会帮助你:)

总结

以上是内存溢出为你收集整理的如何在Android中使用Estimote SDK获取信标的唯一ID全部内容,希望文章能够帮你解决如何在Android中使用Estimote SDK获取信标的唯一ID所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1136170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存