过完年来公司,公司接了个项目,跟公司定位相结合的蓝牙定位的实现。本来小牧不负责这块的,但由于当时做这块的同事用的小程序开发的。无法做到息屏处理。故而这事就落到小牧这点了。大致就这麽个需求吧。好了,话不多时,直接上码。
实现部分就先说下蓝牙定位吧,毕竟得贴题啊,虽然主要想分享的是息屏处理(主要蓝牙定位的文章太多了)。
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