蓝牙定位那点事!

本文介绍了如何实现蓝牙定位,包括解析iBeacon数据和计算距离,以及使用WakeLock处理息屏状态以确保后台任务执行。同时,还讨论了根据iBeacon信号排序和进行网络请求的过程。

    过完年来公司,公司接了个项目,跟公司定位相结合的蓝牙定位的实现。本来小牧不负责这块的,但由于当时做这块的同事用的小程序开发的。无法做到息屏处理。故而这事就落到小牧这点了。大致就这麽个需求吧。好了,话不多时,直接上码。

    实现部分就先说下蓝牙定位吧,毕竟得贴题啊,虽然主要想分享的是息屏处理(主要蓝牙定位的文章太多了)。

iBeacon iBeacon = new iBeacon();
iBeacon.major = (scanData[startByte + 20] & 0xff) * 0x100 + (scanData[startByte + 21] & 0xff);
iBeacon.minor = (scanData[startByte + 22] & 0xff) * 0x100 + (scanData[startByte + 23] & 0xff);
iBeacon.txPower = (int) scanData[startByte + 24]; // this one is signed

iBeacon.rssi = rssi;

以上得到iBeacon实例。然后根据rssi得到Dis。

private static final double A_Value = 59;
/** A - 发射端和接收端相隔1米时的信号强度 */
pri

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值