4

目前,我正在开发一个项目,使用 android 手机检测 iBeacon 并从 iBeacon 读取/写入 uuid、主要次要等信息

在网上搜索后,似乎建议使用 AltBeacon/android-beacon-library 来检测 iBeacon。但是,当我尝试以下链接的示例代码 - http://altbeacon.github.io/android-beacon-library/samples.html或运行示例参考应用程序 - https时,我找不到 iBeacons 的任何结果: //github.com/AltBeacon/android-beacon-library-reference。我从Radius Networks开发的 Google Play下载了一个名为“ Locate ”的应用程序,它也找不到我的 iBeacon。

以上所有方法都无法显示 iBeacons 结果。当我尝试对其进行调试时,didRangeBeaconsInRegion()、didEnterRegion()、didExitRegion() 之类的函数永远不会被调用。

但是从 logcat 我找到了一些设备信息:

10-24 13:56:31.878: D/BluetoothAdapter(14042): onScanResult() - 设备=20:CD:39:80:60:F7 RSSI=-70

我已经测试过我的 iBeacon 应用程序应该没问题 - iBeacon Detector它可以检测到我的 iBeacon。

我错过了一些步骤吗?还是这个库不适合我的开发?请评论。

我对 Android 开发和 iBeacons 还很陌生,如果您需要其他要求,请告诉我。谢谢你的帮助。

4

2 回答 2

7

我正在尝试做和你一样的事情。而且我也想用AltBeacon/android-beacon-library,但是我还没做过,下面的回答是我的猜测,希望能给你一些线索。

我认为您的问题可能是滥用图书馆。

根据 Android-beacon-library http://altbeacon.github.io/android-beacon-library/index.html的主页,它说,

默认情况下,它只会检测符合开放 AltBeacon 标准的信标。如果您希望将库配置为使用不同类型的信标,请参阅 BeaconParser 类的文档。

iBeacon 是一种不同于 Android-beacon-library 中使用的开放 AltBeacon 标准的信标标准,因此如果您希望使用 Android-beacon-library 的应用程序检测 iBeacon 设备,则必须实现 BeaconParser 可以解析符合标准的消息符合 iBeacon 标准。

于 2014-10-24T13:41:37.947 回答
1

你基本上需要这样做:

beaconManager.getBeaconParsers().add(new BeaconParser().
       setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24"));

有关更多信息,请参阅这是使用 AltBeacon 的 Android 信标库检测 iBeacons 的正确布局吗?

于 2017-03-06T14:37:08.467 回答