我正在开发可在信标附近扫描的Android应用。 第一次打开Android应用程序,每隔2秒扫描一次信标和didRangeBeaconsInRegion()方法调用。
但是当我关闭应用程序然后再次启动时,didRangeBeaconsInRegion()方法在2秒内调用了2次
第3次didRangeBeaconsInRegion()方法在2秒内调用了3次
以此类推。...
代码段
@Override
public void didRangeBeaconsInRegion(final Collection<Beacon> beacons, final Region region) {
if (beacons != null) {
Log.i("iBeacons", "beacons.size() : " + beacons.size());
}
}
日志:
2018-12-29 21:39:40.328 26528-27120/com.test.demo I/iBeacons: beacons.size() : 0
2018-12-29 21:39:40.328 26528-27120/com.test.demo I/iBeacons: beacons.size() : 0
2018-12-29 21:39:40.328 26528-27120/com.test.demo I/iBeacons: beacons.size() : 0
2018-12-29 21:39:42.259 26528-27124/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:42.260 26528-27124/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:42.260 26528-27124/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:44.229 26528-27132/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:44.229 26528-27132/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:44.229 26528-27132/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:46.241 26528-27136/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:46.241 26528-27136/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:46.241 26528-27136/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:48.251 26528-27138/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:48.251 26528-27138/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:48.251 26528-27138/com.test.demo I/iBeacons: beacons.size() : 1
2018-12-29 21:39:50.249 26528-27139/com.test.demo I/iBeacons: beacons.size() : 0
2018-12-29 21:39:50.249 26528-27139/com.test.demo I/iBeacons: beacons.size() : 0
2018-12-29 21:39:50.249 26528-27139/com.test.demo I/iBeacons: beacons.size() : 0
2018-12-29 21:39:52.241 26528-27141/com.test.demo I/iBeacons: beacons.size() : 0
2018-12-29 21:39:52.241 26528-27141/com.test.demo I/iBeacons: beacons.size() : 0
2018-12-29 21:39:52.241 26528-27141/com.test.demo I/iBeacons: beacons.size() : 0
更新2:
这里是回调代码
mBeaconManager.addRangeNotifier(this);
一旦用户允许信标扫描操作获得所有必要的权限,上述回调仅被调用一次,仅次于表单应用程序
问题:第一次运行正常,但是第二次,第三次出现问题,...重新启动。 当应用程序第三次重启时,我捕获了上面的日志。
注意:,当我清除申请表背景时,它也可以正常工作。
答案 0 :(得分:0)
mBeaconManager.removeRangeNotifier(this);