Android开发:IBeacon系列——将Android设备变为IBeacon设备

将Android设备变了IBeacon基站,即使用Android设备发送IBeacon广播信息。


要求:


1、硬件
支持BLE Peripheral模式的手机,新款Android手机大部分支持(三星note5, 三星Galaxy Tab S2, Nexus6 ...)</li>
2、软件
Android 系统5.0及以上,在Lollipop中,谷歌扩展了BLE的功能,增加了对Preipheral的支持。即增加了BluetoothLeAdvertiser__BLE消息广播的核心API类及底层实现。</li>


具体实现


1、权限申请
在AndroidManifest文件中申请操作蓝牙设备的权限,对应的权限如下
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

2、功能检查
检查蓝牙设备功能(蓝牙设备是否打开, 低功耗蓝牙的支持情况)是否可用,具体实现可参考移动设备对IBeacon的支持情况

3、配置广播参数
通过AdvertiseSettings.Builder构造AdvertiseSettings,并设置相应信息(广播的频率,超时,功率等信息)。

4、生成广播数据
建立广播数据,构造AdvertiseData,它至多包含31字节的数据。即需要包含IBeacon关键字段解析中介绍的IBeacon协议的一些关键信息。
其中包含了Beacon的设备标识信息两个字节,UUID16字节,Major2字节,Minor2字节,发射功率1字节

5、创建回调
创建回调AdvertiseCallback,它通过回调通知启动广播发送是否成功。我们则可以在回调中做相应处理

6、启动广播
准备好“广播设置”,“广播数据”和“广播回调”后,可以调用BluetoothLeAdvertiser类的startAdvertising方法,其参数就是我们上面准备好的对象。

7、关闭广播
不需要广播数据时,可以调用BluetoothLeAdvertiser类的stopAdvertising方法,其参数就是我们上面准备好的callback对象。
 

我们就可以将一个Android设备“变成”IBeacon基站设备,向外发射IBeacon信号


DEMO地址:https://github.com/wooden-fishes/IBeaconBroadcastDemo

 

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值