我的项目使用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版本
非常感谢!!
1条答案
按热度按时间jvlzgdj91#
接下来的问题是:
@davidyoung告诉我问题可能出在android的生命周期上。他说得对。程序中有一个无限循环。
谢谢你@davidyong。