iBeacon AltBeacon-在Android中使用AltBeacon库扫描iBeacon时,didEnterRegion不会每次都被调用

iBeacon AltBeacon-在Android中使用AltBeacon库扫描iBeacon时,didEnterRegion不会每次都被调用,android,Android,我用来扫描iBeacons的代码是: 使用以下命令绑定信标服务: mBeaconManager=BeaconManager.getInstanceForApplication(此应用程序); mBeaconManager.getBeaconParsers().add(新建BeaconParser().setBeaconLayout(“m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24”); mBeaconManager.bind(这个); 我已使用以下代码同时设

我用来扫描iBeacons的代码是:

使用以下命令绑定信标服务:

mBeaconManager=BeaconManager.getInstanceForApplication(此应用程序);
mBeaconManager.getBeaconParsers().add(新建BeaconParser().setBeaconLayout(“m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24”);
mBeaconManager.bind(这个);
我已使用以下代码同时设置监控和测距:

mBeaconRegion=新区域(“MyRangUniqueId”,
标识符.parse(UUID),null,null);mBeaconManager.startMonitoringBeaconsInRegion(mBeaconRegion);
MBeAconsistenregion(MBeAconsistenregion)的MBeAconsistenger;
在onBeaconServiceConnect方法中

@覆盖
BeaConserviceConnect()上的公共无效({
Log.d(“*信标”,“服务连接上”);
mBeaconManager.setMonitorNotifier(新的MonitorNotifier(){
@凌驾
公共区域(区域区域){
Log.d(“*信标”,“输入时”);
}  
@凌驾
公共行政区(地区){
日志d(“*信标”,“出口”);
}
@凌驾
公共无效不确定区域(int i,区域){
Log.d(“*信标”,“处于确定状态”);
}
});   
mBeaconManager.setRangeNotifier(新的RangeNotifier(){
@凌驾
公共无效范围信标区域(收集信标,区域){
如果(beacons.size()>0){
Log.d(“*信标”,“大小>0”);
}否则{
对数d(“*信标”,“大小<0”);
}
}
});
}
使用

if(mBeaconManager!=null){
mBeaconManager.unbind(此);
mBeaconManager.removeAllRangeNotifiers();
mBeaconManager.停止监视BEAConRegion(mBeaconRegion);
mBeaconManager.stoprangingbeaconregion(mBeaconRegion)
}
当我绑定BeacConserviceConnect上的信标服务时,将调用方法并启动监视和测距。 在监视过程中,调用
didDeterminateStateForRegion
方法,并且每隔一秒钟执行一次
didRangeBeanConsincinRegion


我知道一件事,每当在
dideterministateforregion
之后调用
didEnterRegion
时,我就会得到信标列表,否则我就会得到信标大小为零

以下是我捕获的日志:

当用户点击按钮时,我正在扫描5秒,当信标在5秒内未连接时,我正在解除信标服务的绑定

我正在执行的操作仅在应用程序处于前台时执行

**Log 1: (Did not connect to Beacon)**
2020-02-05 16:43:47.791 19341-19341/com.app.example D/*Beacon: on Service Connect
2020-02-05 16:43:47.805 19341-19341/com.app.example D/*Beacon: Ranging
2020-02-05 16:43:47.840 19341-19341/com.app.example D/*Beacon: on determinate state0
2020-02-05 16:43:49.104 19341-19341/com.app.example D/*Beacon: size < 0
2020-02-05 16:43:50.208 19341-19341/com.app.example D/*Beacon: size < 0
2020-02-05 16:43:51.311 19341-19341/com.app.example D/*Beacon: size < 0
2020-02-05 16:43:52.413 19341-19341/com.app.example D/*Beacon: size < 0
2020-02-05 16:43:52.964 19341-19341/com.app.example D/*Beacon: unbinding
2020-02-05 16:44:23.067 19341-19341/com.app.example D/*Beacon: on determinate state1
2020-02-05 16:44:23.067 19341-19341/com.app.example D/*Beacon: on Enter

**Log2: (Connected)**

2020-02-05 16:48:24.014 19341-19341/com.app.example D/*Beacon: on Service Connect
2020-02-05 16:48:24.026 19341-19341/com.app.example D/*Beacon: Ranging
2020-02-05 16:48:24.055 19341-19341/com.app.example D/*Beacon: on determinate state0
2020-02-05 16:48:24.644 19341-19341/com.app.example D/*Beacon: on determinate state1
2020-02-05 16:48:24.644 19341-19341/com.app.example D/*Beacon: on Enter
2020-02-05 16:48:25.309 19341-19341/com.app.example D/*Beacon: size > 0
2020-02-05 16:48:25.313 19341-19341/com.app.example D/*Beacon: unbinding

**Log3: (Connected)**

2020-02-05 16:48:38.901 19341-19341/com.app.example D/*Beacon: on Service Connect
2020-02-05 16:48:38.913 19341-19341/com.app.example D/*Beacon: Ranging
2020-02-05 16:48:38.939 19341-19341/com.app.example D/*Beacon: on determinate state0
2020-02-05 16:48:39.283 19341-19341/com.app.example D/*Beacon: on determinate state1
2020-02-05 16:48:39.283 19341-19341/com.app.example D/*Beacon: on Enter
2020-02-05 16:48:40.177 19341-19341/com.app.example D/*Beacon: size > 0
2020-02-05 16:48:40.182 19341-19341/com.app.example D/*Beacon: unbinding

**Log4 (Connected)**

2020-02-05 17:00:49.768 19341-19341/com.app.example D/*Beacon: on Service Connect
2020-02-05 17:00:49.782 19341-19341/com.app.example D/*Beacon: Ranging
2020-02-05 17:00:49.807 19341-19341/com.app.example D/*Beacon: on determinate state0
2020-02-05 17:00:51.033 19341-19341/com.app.example D/*Beacon: size < 0
2020-02-05 17:00:52.028 19341-19341/com.app.example D/*Beacon: on determinate state1   
2020-02-05 17:00:52.028 19341-19341/com.app.example D/*Beacon: on Enter
2020-02-05 17:00:52.136 19341-19341/com.app.example D/*Beacon: size > 0
2020-02-05 17:00:52.139 19341-19341/com.app.example D/*Beacon: unbinding
**日志1:(未连接到信标)**
2020-02-05 16:43:47.791 19341-19341/com.app.example D/*信标:在服务连接上
2020-02-05 16:43:47.805 19341-19341/com.app.example D/*信标:测距
2020-02-05 16:43:47.840 19341-19341/com.app.example D/*信标:处于确定状态0
2020-02-05 16:43:49.104 19341-19341/com.app.example D/*信标:大小<0
2020-02-05 16:43:50.208 19341-19341/com.app.example D/*信标:大小<0
2020-02-05 16:43:51.311 19341-19341/com.app.example D/*信标:大小<0
2020-02-05 16:43:52.413 19341-19341/com.app.example D/*信标:大小<0
2020-02-05 16:43:52.964 19341-19341/com.app.example D/*信标:解除绑定
2020-02-05 16:44:23.067 19341-19341/com.app.example D/*信标:处于确定状态1
2020-02-05 16:44:23.067 19341-19341/com.app.example D/*信标:输入时
**Log2:(已连接)**
2020-02-05 16:48:24.014 19341-19341/com.app.example D/*信标:在服务连接上
2020-02-05 16:48:24.026 19341-19341/com.app.example D/*信标:测距
2020-02-05 16:48:24.055 19341-19341/com.app.example D/*信标:处于确定状态0
2020-02-05 16:48:24.644 19341-19341/com.app.example D/*信标:处于确定状态1
2020-02-05 16:48:24.644 19341-19341/com.app.example D/*信标:按回车键
2020-02-05 16:48:25.309 19341-19341/com.app.example D/*Beacon:size>0
2020-02-05 16:48:25.313 19341-19341/com.app.example D/*信标:解除绑定
**Log3:(已连接)**
2020-02-05 16:48:38.901 19341-19341/com.app.example D/*信标:在服务连接上
2020-02-05 16:48:38.913 19341-19341/com.app.example D/*信标:测距
2020-02-05 16:48:38.939 19341-19341/com.app.example D/*信标:处于确定状态0
2020-02-05 16:48:39.283 19341-19341/com.app.example D/*信标:处于确定状态1
2020-02-05 16:48:39.283 19341-19341/com.app.example D/*信标:输入
2020-02-05 16:48:40.177 19341-19341/com.app.example D/*Beacon:size>0
2020-02-05 16:48:40.182 19341-19341/com.app.example D/*信标:解除绑定
**日志4(已连接)**
2020-02-05 17:00:49.768 19341-19341/com.app.example D/*信标:在服务连接上
2020-02-05 17:00:49.782 19341-19341/com.app.example D/*信标:测距
2020-02-05 17:00:49.807 19341-19341/com.app.example D/*信标:处于确定状态0
2020-02-05 17:00:51.033 19341-19341/com.app.example D/*信标:大小<0
2020-02-05 17:00:52.028 19341-19341/com.app.example D/*信标:处于确定状态1
2020-02-05 17:00:52.028 19341-19341/com.app.example D/*信标:输入时
2020-02-05 17:00:52.136 19341-19341/com.app.example D/*Beacon:size>0
2020-02-05 17:00:52.139 19341-19341/com.app.example D/*信标:解除绑定

您能解释一下为什么在
dideterministateforregion
之后,
didEnterRegion
没有被每次调用,以及为什么我无法在
onbeacerviceconnect
方法中获取信标列表吗?有什么建议吗

我认为期望信标总是在5秒钟内被检测到是不现实的。如果你有一个灯塔附近的广告