DidRangeBeanConsinRegion并不总是在altbeacon库中工作

um6iljoc  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(337)

我的项目使用alt beacon库,但是我在获取beacon时遇到了一个大问题。该方法第一次检测到1个或2个信标,之后没有检测到任何信标。信标是良好的启动(我已经检查了定位应用程序和所有权利)。我还关闭了wifi。我读过stackoverflow中的一些解决方案,但任何方法都不适合我的问题。
获取信标的代码是:

@Override
public void onBeaconServiceConnect() {

    try {
        beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));
    } catch (RemoteException e) {
        e.printStackTrace();
    }
    beaconManager.addRangeNotifier(new RangeNotifier() {
        @Override
        public void didRangeBeaconsInRegion(Collection<Beacon> collection, Region region) {
            for (Beacon oneBeacon : collection) {
                toProcessBeacon(oneBeacon);

            }

        }

    });
}

第一次(1或2个信标)的滞留是好的,但之后是不好的。
日志是下一个:

01-03 16:44:53.531  D/BluetoothLeScanner: onScanResult() - ScanResult{mDevice=73:64:DC:CC:28:89, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={280=[-66, -84, -8, -49, -59, 97, 8, -28, 120, 120, 120, 120, 120, 127, 127, 127, 127, 127, 0, 1, 0, 0, -56, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-35, mTimestampNanos=2335797686443}
01-03 16:44:54.546  D/ScanRecord: parseFromBytes
01-03 16:44:54.551  D/ScanRecord: first manudata for manu ID**strong text**

pd:我的手机是三星galaxy alpha和lg moto e,都是5.0.2Android版本
非常感谢!!

jvlzgdj9

jvlzgdj91#

接下来的问题是:
@davidyoung告诉我问题可能出在android的生命周期上。他说得对。程序中有一个无限循环。
谢谢你@davidyong。

相关问题