这段时间微信周边摇一摇带动的ibeacon新兴市场火得一塌糊涂。
iBeacon 是苹果公司2013年9月发布的移动设备用OS(iOS7)上配备的新功能。其工作方式是,配备有 低功耗蓝牙(BLE)通信功能的设 备使用BLE技术向周围发送自己特有的ID,接收到该ID的应用软件会根据该ID采取一些行动。比如,在店铺里设置iBeacon通信模块的话,便可让iPhone和iPad上运行一资讯告知服务器,或者由服务器向顾客发送折扣券及进店积分。此外,还可以在家电发生故障或停止工作时使用iBeacon向应用软件发送资讯。
iOS这边官方已经有相关较为成熟的开发文档和封装类,但是安卓方面还没有官方的支持,只能自行开发或借助第三方sdk开发。安卓开发ibeacon是基于BLE开发的,所以大家需要先学习好安卓官方的BLE开发文档,其实iBeacon是BLE衍生版,所以iBeacon具有属性和特点BLE几乎都有,百度上的第三方包其实就是基于BLE开发的封装类。那么今天我来带大家一起来学习开发android
版的iBeacon吧:
安卓iBeacon开发前得先判断当前设备(手机)是否支持BLE功能:
扫描蓝牙设备,将符合IBacon特征的设备对象转成IBeacon设备对象(由IBeaconProductor类转换 ):
IBeacon生产包装类,IBeaconProductor :
模拟从后台服务器获取商品信息:
OK,核心代码如上,这是模拟扫描周边iBeacon设备,过滤掉没有跟你公司合作的设备,并向用户推送这些有效设备相关是的商品信息,当然过滤规则可以自定义的,我这个过滤规则是应付教程的哈,代码很简单。下面我也会传代码供大家下载学习,注释也写得很详细。
下面是效果图:
下载DEMO源码 (文章,代码有小浮更新,更新时间:2016.03.29)
2019.04.16更新Android Studio的demo源码:IBeaconDemo
文笔不好,也没时间优化这篇文章,等有时间再修改细述。