如何从 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: 0001Minor: 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 和不同主要、次要的多个信标

cordova-plugin-ibeacon:当监控发现信标时,主要/次要不可用

android - 检测不同供应商的所有信标的通用 API

在iOS中测距和监控时如何获取信标的MAC地址