服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android提高之BLE开发Android手机搜索iBeacon基站

Android提高之BLE开发Android手机搜索iBeacon基站

2021-03-07 15:57Android开发网 Android

这篇文章主要介绍了BLE开发Android手机搜索iBeacon基站,需要的朋友可以参考下

前面文章讲述了android手机与ble终端之间的通信,而最常见的ble终端应该是苹果公司倡导的ibeacon基站。ibeacon技术基于ble,它的特点是通过广播对外发送消息,手机不需要连上ibeacon基站也能获取它的信息,目前主要用来做室内定位和营销信息推送,在ble发出的广播里带上带上特定的信息从而被识别为ibeacon。在ios里面使用ibeacon要经过passbook注册ibeacon的uuid和对应的文字简介,而在android上则无类似passbook这种系统级的后台蓝牙搜索服务,这类服务需要开发者自己搞定。这次就讲讲android手机搜索基站和显示ibeacon基站参数。

搜索ibeacon基站的不难,核心在于bluetoothadapter.lescancallback()的onlescan(final bluetoothdevice device, int rssi, byte[] scanrecord),而识别ibeacon的信息就在于scanrecord数组。按照https://github.com/radiusnetworks/android-ibeacon-service/blob/master/src/main/java/com/radiusnetworks/ibeacon/ibeacon.java,识别是否ibeacon靠下面的红字:

// airlocate:
// 02 01 1a 1a ff 4c 00 02 15  # apple's fixed ibeacon advertising prefix
// e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 # ibeacon profile uuid
// 00 00 # major
// 00 00 # minor
// c5 # the 2's complement of the calibrated tx power

同时要注意ibeacon的uuid和ble的service、characteristic、descriptor的uuid是没关系,ibeacon的uuid是广播的时候发出,是由apple自己定义的标准,而service、characteristic、descriptor必须是连上ble终端后才得到,是ble标准。

本文代码运行结果如下,不断变化rssi可以用来做距离判断,不过这个模块的txpower不太准,所以测距就没意义:

Android提高之BLE开发Android手机搜索iBeacon基站

本文代码点此本站下载,代码就不贴出来了,核心代码点此本站下载

感兴趣的朋友可以下载本站代码测试一下运行效果,希望对大家学习android程序设计有一定的帮助。

延伸 · 阅读

精彩推荐
  • AndroidAndroid编程解析XML方法详解(SAX,DOM与PULL)

    Android编程解析XML方法详解(SAX,DOM与PULL)

    这篇文章主要介绍了Android编程解析XML方法,结合实例形式详细分析了Android解析XML文件的常用方法与相关实现技巧,需要的朋友可以参考下...

    liuhe68810042021-05-03
  • AndroidAndroid实现固定屏幕显示的方法

    Android实现固定屏幕显示的方法

    这篇文章主要介绍了Android实现固定屏幕显示的方法,实例分析了Android屏幕固定显示所涉及的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    鉴客6182021-03-27
  • AndroidAndroid程序设计之AIDL实例详解

    Android程序设计之AIDL实例详解

    这篇文章主要介绍了Android程序设计的AIDL,以一个完整实例的形式较为详细的讲述了AIDL的原理及实现方法,需要的朋友可以参考下...

    Android开发网4622021-03-09
  • AndroidAndroid CardView+ViewPager实现ViewPager翻页动画的方法

    Android CardView+ViewPager实现ViewPager翻页动画的方法

    本篇文章主要介绍了Android CardView+ViewPager实现ViewPager翻页动画的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Abby代黎明9592022-03-02
  • AndroidAndroid实现Service获取当前位置(GPS+基站)的方法

    Android实现Service获取当前位置(GPS+基站)的方法

    这篇文章主要介绍了Android实现Service获取当前位置(GPS+基站)的方法,较为详细的分析了Service基于GPS位置的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    Ruthless8332021-03-31
  • AndroidAndroid界面效果UI开发资料汇总(附资料包)

    Android界面效果UI开发资料汇总(附资料包)

    android ui界面设计,友好的界面会提高用户体验度;同时也增强了android ui界面设计的难度,本文提供了一些常用开发资料(有下载哦)感兴趣的朋友可以了解下...

    Android开发网4652021-01-03
  • Android汇总Android视频录制中常见问题

    汇总Android视频录制中常见问题

    这篇文章主要汇总了Android视频录制中常见问题,帮助大家更好地解决Android视频录制中常见的问题,需要的朋友可以参考下...

    yh_thu5192021-04-28
  • AndroidAndroid中AsyncTask详细介绍

    Android中AsyncTask详细介绍

    这篇文章主要介绍了Android中AsyncTask详细介绍,AsyncTask是一个很常用的API,尤其异步处理数据并将数据应用到视图的操作场合,需要的朋友可以参考下...

    Android开发网7432021-03-11