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

    要求
  • 硬件
    支持BLE Peripheral模式的手机,新款Android手机大部分支持(三星note5, 三星Galaxy Tab S2, Nexus6 ...)

  • 软件
    Android 系统5.0及以上,在Lollipop中,谷歌扩展了BLE的功能,增加了对Preipheral的支持。即增加了BluetoothLeAdvertiser__BLE消息广播的核心API类及底层实现。


    具体实现__
  • 权限申请
    在AndroidManifest文件中申请操作蓝牙设备的权限,对应的权限如下


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

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

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

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

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

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

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

具体可参考DEMO

更多相关文章

  1. android设备唯一码的获取,cpu号,mac地址
  2. 【Android Developers Training】 74. 序言:通过无线连接设备
  3. python获取android设备的GPS信息脚本分享
  4. Android手机蓝牙控制智能小车机器人
  5. adb 发送文件到Android设备和从Android手机复制文件
  6. Android获得所有存储设备位置最佳方式
  7. android输入子设备类型
  8. 【Android Developers Training】 10. 序言:支持不同设备
  9. Android系统移植与调试之------->如何修改Android设备添加重启、

随机推荐

  1. Android(安卓)知识体系
  2. Android显示时间和日期的控件的使用总结
  3. webview和Android交互
  4. Android热更新实现原理浅析
  5. Android(安卓)Studio真机调试,数据库sqlli
  6. Android第十五课 Jni自带的iconv库不支持
  7. Android常用高质量框架
  8. Android(安卓)音频系统:从 AudioTrack 到
  9. android使用WebView显示sdcard的html文件
  10. android 设置背景图片