如何从 android 信标中读取主要、次要
Posted
技术标签:
【中文标题】如何从 android 信标中读取主要、次要【英文标题】:How to read major, minor from android beacon 【发布时间】:2014-04-23 12:16:11 【问题描述】:我在 android (sticknfind android SDK) 中使用了一些sticknfind 信标。如何从源代码中的信标中获取主要和次要值?我已经使用了该应用程序:StickNFind Beacon Maker,并且我已经指定了值。
Major: 0001
Minor: 0002
为了获取uuid:dev.getBtDevice().getAddress()
没有dev.getBtDevice().getMinor()
或getMajor()
吗?
【问题讨论】:
【参考方案1】:public String getMajor()
major = String.valueOf( (mScanRecord[25] & 0xff) * 0x100 + (mScanRecord[26] & 0xff));
return major;
public String getMinor()
minor = String.valueOf( (mScanRecord[27] & 0xff) * 0x100 + (mScanRecord[28] & 0xff));
return minor;
【讨论】:
【参考方案2】:我不确定您拨打getBtDevice().getAddress()
时使用的是什么SDK,但我怀疑这会返回蓝牙MAC 地址,而不是您正在寻找的ProximityUUID。这可能就是为什么我们没有等效的方法来获得主要和次要。
幸运的是,如果您的信标已经在传输,还有一种更简单的方法。只需安装 iBeacon Locate 应用程序并使用它通过无线方式读取您的标识符。
如果您想以编程方式执行此操作,请查看应用所基于的 Android iBeacon Library。
【讨论】:
我正在使用sticknfind android skd,是的,我得到了mac地址。 有人尝试更改 Sticknfind 信标的 UUID 吗??这行得通吗??【参考方案3】:我使用RadiusNetwork's iBeacon library (Android library):
就这么简单:
iBeacon.getProximityUuid()
iBeacon.getMajor()
iBeacon.getMinor()
【讨论】:
可以分享 RadiusNetwork 的 iBeacon 库吗?他们从 Github 中删除了它:( 正如 README.md 文件中所述,他们现在正在获得 v2 github.com/AltBeacon/android-beacon-library。这不是我的工作,所以如果你想要 v1,请尝试与他们联系。【参考方案4】:使用 alt beacon library 2.3.5,将其添加到您的 Build.gradle 文件中的应用模块:
compile 'org.altbeacon:android-beacon-library:2.3.5'
然后,你可以分别从Beacon类的getId2()
和getId3()
方法中获取major和minor。
【讨论】:
以上是关于如何从 android 信标中读取主要、次要的主要内容,如果未能解决你的问题,请参考以下文章
didEnterRegion 信标管理器方法返回一个主要和次要为零的区域
如何通过 estimote android sdk 更改 estimote 信标的 UUID?
iBeacon 监控具有相同 UUID 和不同主要、次要的多个信标