我是一名法国学生,我正在学习Android语言 . 我的朋友和我必须创建一个基于iBeacon技术的Android应用程序 . 我几天前发现了AltBeacon库,我发现它很棒,但我有一些问题要问 .
首先,你必须明白我是编程的新手,我的问题将是你的白痴 . 但是我真的需要帮助;)
Android提供了Bluetooth.LE Api,我明白我可以使用startLeScan()方法来获取BluetoothDevice . 但是,如果我想使用AltBeacon库,这是允许我们扫描iBeacon设备并获得Beacon对象的等效方法?
另一个问题,如果我使用startLeScan()并获得一个BluetoothDevice,我怎样才能将它转换为Beacon才能使用AltBeacon方法?
我很抱歉我的英语错误,我希望我的问题是可以理解的 . 再见
3 回答
您可以轻松使用Android Beacon Library扫描信标并使用"Ranging APIs"返回结果,如下所述:
http://altbeacon.github.io/android-beacon-library/samples.html
如果要直接调用
startLeScan()
并使用库代码将结果转换为信标对象,可以在扫描回调中调用以下方法:Beacon beacon = beaconParser.fromScanData(scanData, rssi, bluetoothDevice)
但是,如果使用专有信标格式(如来自Apple),则需要使用正确的布局构造
BeaconParser
. 这是专有信息,但您可以进行Google搜索,找出构建专有布局BeaconParser
的正确方法 .我认为nv-bluetooth是从广告包中提取iBeacon的最简单方法 . 下面是onLeScan方法的示例实现 .
有关详细信息,请参阅“iBeacon as a kind of AD structures” .
这是我们用来检测iBeacons并使用AltBeacon lib在Android服务中获取信标对象的方法 .
设置BeaconManager
开始测量信标