didRangeBeaconsInRegion 在 altBeacon 库中并不总是有效
didRangeBeaconsInRegion doesn't work always in altBeacon library
我在我的项目中使用了 alt beacon 库,但我在获取信标时遇到了一个大问题。第一次,该方法检测到 1 或 2 个信标,之后检测不到任何信标。信标启动良好(我已经使用 LOCATE APP 检查过,没问题)。我也停用了无线网络。我已经在 Whosebug 中阅读了一些解决方案,但任何解决方案都对我的问题不利。
获取信标的代码是:
@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个beacons)留校还好,后面就不好了。
日志是下一个:
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 : 我的手机是 SAMSUNG GALAXY ALPHA 和 LG MOTO E,都是 5.0.2 Android 版本
非常感谢!!
下一个问题是:
@davidyoung 告诉我哪个问题可能是 Android 生命周期。他是对的。在程序中是一个无限循环。
谢谢@davidyoung。
我在我的项目中使用了 alt beacon 库,但我在获取信标时遇到了一个大问题。第一次,该方法检测到 1 或 2 个信标,之后检测不到任何信标。信标启动良好(我已经使用 LOCATE APP 检查过,没问题)。我也停用了无线网络。我已经在 Whosebug 中阅读了一些解决方案,但任何解决方案都对我的问题不利。
获取信标的代码是:
@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个beacons)留校还好,后面就不好了。
日志是下一个:
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 : 我的手机是 SAMSUNG GALAXY ALPHA 和 LG MOTO E,都是 5.0.2 Android 版本
非常感谢!!
下一个问题是:
@davidyoung 告诉我哪个问题可能是 Android 生命周期。他是对的。在程序中是一个无限循环。
谢谢@davidyoung。