如何在android中检测IBeacon而不使用任何库



我是Ibeacon的新手,我想知道我们可以在android中检测Ibeacon而不使用任何SDKLibrary或库,可以任何一个给出示例。

我知道一些像Radius Networks的库。但是我不想使用任何库

Android操作系统没有任何检测iBeacon的代码,但它确实有允许您扫描蓝牙LE设备的代码,这是比iBeacon级别低的设备。

你可以滚动你自己的代码来检测iBeacons使用蓝牙LE扫描。这正是来自Radius Networks的Android iBeacon Library所做的。它是开源的,所以如果你不想使用这个库,你可以简单地从库中复制代码块,然后自己检测。

源代码在这里:https://github.com/RadiusNetworks/android-ibeacon-service

编辑:库已移动到http://github.com/AltBeacon/android-beacon-library

如果您检测的用例非常简单,这可能工作得很好。不过,请注意不要做太多的工作,因为处理所有的边缘情况会变得越来越复杂。这当然是我在编写库时学到的。

如果你只是想玩这个,我将专注于一个类从库:IBeacon.java

这个类可以将Android蓝牙LE扫描记录转换为IBeacon(如果扫描的蓝牙设备确实是IBeacon)

你可以在这里阅读如何在Android上设置蓝牙LE扫描:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html

有一个新的小库:https://github.com/inthepocket/ibeacon-scanner-android

没有库,很容易扫描iBeacon,你只需要创建正确的ScanFilter,基于iBeacon,然后开始BLE扫描。创建正确的ScanFilter一开始可能很难,最好看看上面提到的库中的代码。

依赖于Android版本,需要打开定位,需要授予定位权限,并且蓝牙,总是需要打开

最新更新