首先我们得从Android手机与BLE说起,随着谷歌、苹果等巨头参与到穿戴设备中,将BLE又一次推到了大家的视野。去年苹果发布ibeacon以对抗长期以来NFC占据的市场。当然苹果推出ibeacon的同时也推出了相应的demoAirlocate,相对来说Android就比较空白。根据去年数据表面Android在市场上占六成以上, 而Android4.0以上的机型占到40%以上。
选用适用设备
4.3以上Android智能机型、ibeacon基站一个
什么是ibeacon呢?
iBeacon是一种基于BLE的规范,它是通过广播对外发送消息,手机不需要链接上ibeacon基站都可以获取它的信息。比如:当用户进入该区域中,它会不停对外广播,“我在这里,我在这里”让用户更好的找到或获取信息。所以该技术的推出,相当多的公司都将该技术运用于室内定位和精准营销消息推送。
Android 手机如何查找ibeacon基站
我们知道BLE分为三部分Service、Characteristic、Descriptor,这三部分都由UUID作为唯一标示符。Android与IOS查找ibeacon基站有一定的差异。IOS在使用要经过passbook注册ibeacon的UUID和对应的文字简介,而Android相对则需要开发者自己完成。下面我们就操作一下
iBeacon基站的核心点相信大家都很清楚BluetoothAdapter.LeScanCallback()的onLeScan(final BluetoothDevice device, intrssi, byte[] scanRecord),而识别iBeacon的信息就在于scanRecord数组。以下的代码是我们项目中查找ibeacon的具体操作
iBeacon是苹果公司基于BLE的基础上提出的。苹果自己定义了,ibeacon的uuid广播发出的信息。而Service、Characteristic、Descriptor必须是连上BLE终端后才得到。
运行以上的代码,可以查看到如下的结果。