位置: 编程技术 - 正文
推荐整理分享【Android开发】关于android-beacon-library(android开发最全教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:android开发学习网,android开发学习网,android开发需要学什么,android开发和java开发区别,android开发学习网,android开发学习网,android开发需要学什么,android开发菜鸟教程,内容如对您有帮助,希望把文章链接给更多的朋友!
iBeacon是苹果公司称为“一种可以检测到附近IOS7设备出现的一种新的低功耗、低成本信号传送器”的一套室内定位系统的商标。 这种技术可以使一个智能手机或其他装置在一个iBeacon基站的感应范围内能够执行相应的命令。iBeacon通过低功耗蓝牙近距离感应来向一个app或操作系统传输通用唯一识别码。
关于iBeacon的工作原理,请参考
API给IOS开发人员,开发人员轻轻松松就可以让自己的APP实现相关功能。
相对来说,Android开发人员就比较麻烦了,需要自己调用BluetoothAdapter.startLeScan()去搜索iBeacon商标,
搜索出结果之后,还需要自己去解析iBeacon Format,多麻烦……
最近在GitHub上找到了一个开源库Android-Beacon-Library,它封装了一系列Beacons API(风类IOS),
Android开发人员,很轻松就可以将它整合到自己的APP中。
android-beacon-library官方网站:
、问题提交等,大家可以去看看……
注意,本人运行官方的示例,无法正常使用。主要原因是需要重新设置BeaconParser。
下面是我写的一个例子,供大家参考:
上述示例中,通过调用 beaconManager.getBeaconParsers()获取到BeaconParser列表,然后往里面添加一个我们自己定义的BeaconParser。
而BeaconParser是通过setBeaconLayout(String)方法,设置对应的Beacon式。
以下是设置的iBeacon式
m - matching byte sequence for this beacon type to parse (exactly one required) s - ServiceUuuid for this beacon type to parse (optional, only for Gatt-based becons) i - identifier (at least one required, multiple allowed) p - power calibration field (exactly one required) d - data field (optional, multiple allowed)下面来简单说一下iBeacon广播的数据。
一般来说,我们在调用BluetoothAdapter.startLeScan()搜索iBeacon的时候,
会在回调函数onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord)中获取到iBeacon发出广播数据,
就是参数scanRecord所携带的数据。如下所示:
把其它无关数据去掉,变成
以上数据只包含了实际信息数据(其它数据如MAC、数据包报头……不在这里),共字节
经过整理后,变成
按照相关资料所述,识别是否iBeacon靠上面的红字(),参考资料如下
……
好了,有点绕……没办法……
下面是我写的示例,仅供参考
Android:应用的运行过程 以拨号应用为例子分析应用的运行过程当一个应用部署到模拟环境上后,系统就会读取这个应用的工程清单文件(AndroidManifest.xml),然后它就知道了,
耳机插拔流程 1.1耳机在Android系统中,有线耳机分两种,一种带mic,一种不带mic,带mic的耳机被称为Headset,不带mic的耳机被称为HeadPhone。在audio.h中,有以下几个设备
用Fragment+ViewPager搭建万能的android界面 android由于受限于屏幕的尺寸,我们尽可能的想要在界面上显示更多的东西。先来两张图一个是的,一个是汽车之家。今天这篇文章就来搭建这个框架
标签: android开发最全教程
本文链接地址:https://www.jiuchutong.com/biancheng/379661.html 转载请保留说明!友情链接: 武汉网站建设