我是Ibeacon的新手,想了解能否在Android上检测Ibeacon而不使用任何SDK库或库,有没有人能给出示例。
我知道一些像Radius Networks这样的库,但我不想使用任何库。
我是Ibeacon的新手,想了解能否在Android上检测Ibeacon而不使用任何SDK库或库,有没有人能给出示例。
我知道一些像Radius Networks这样的库,但我不想使用任何库。
Android操作系统没有任何代码可以检测iBeacon,但它确实有代码可以让你扫描低于iBeacon的低级设备——蓝牙LE设备。
你可以使用这个蓝牙LE扫描来自己编写检测iBeacons的代码。这正是Radius Networks的Android iBeacon Library所做的。它是开源的,所以如果你不想使用该库,你可以简单地从该库中复制一些代码块并进行自己的检测。
源代码在这里:https://github.com/RadiusNetworks/android-ibeacon-service
编辑:该库已经移至http://github.com/AltBeacon/android-beacon-library
如果你的检测用例非常简单,这可能很好地发挥作用。但要小心不要承担过多工作,因为处理所有边缘情况可能变得越来越复杂。这正是我写库时学到的东西。有一个新的小型库:https://github.com/inthepocket/ibeacon-scanner-android
没有库也很容易扫描iBeacon,您只需根据iBeacon创建正确的ScanFilter,然后启动BLE扫描即可。刚开始创建正确的ScanFilter可能有些困难,最好查看提到的库中的代码。
根据Android版本的不同,需要打开位置信息,授予位置权限并始终打开蓝牙。