altBeacon:didEnterRegion
altBeacon: didEnterRegion
我正在编写一个 Android 应用自定义 Class,它利用了 AltBeacon 的 Android-Beacon-Library。
但是当第一次启动时,如果我在信标区域,didEnterRegion() 将不起作用。
我想马上创建一个事件。
我找不到任何其他解决方案。 Plz,任何帮助表示赞赏!
这是我的代码▼
beaconManager.addMonitorNotifier(new MonitorNotifier() {
@Override
public void didEnterRegion(Region region) {
//Log.i(TAG, "I just saw an beacon for the first time!");
sendData(dataStart);
mHandler.post(new Runnable() {
@Override
public void run() {
tv_beacon_.setText("work");
}
});
}
@Override
public void didExitRegion(Region region) {
//Log.i(TAG, "I no longer see an beacon");
sendData(dataEnd);
mHandler.post(new Runnable() {
@Override
public void run() {
tv_beacon_.setText("not work");
}
});
}
@Override
public void didDetermineStateForRegion(int state, Region region) {
Log.i(TAG, "I have just switched from seeing/not seeing beacons: "+state);
}
此行为是预期的,因为 didEnterRegion
回调只会在您不在该区域时触发。您可以在这里了解更多信息:https://altbeacon.github.io/android-beacon-library/detection-trouble.html
不过你可以做的是打电话
beaconManager.setRegionStatePeristenceEnabled(false)
这将使 didEnterRegion
回调在应用重新启动后触发,即使 phone 已经在信标区域中。
如果您这样做,请记住,当应用程序在后台被 Android OS.
临时终止时,回调可能会触发多次
我正在编写一个 Android 应用自定义 Class,它利用了 AltBeacon 的 Android-Beacon-Library。 但是当第一次启动时,如果我在信标区域,didEnterRegion() 将不起作用。 我想马上创建一个事件。 我找不到任何其他解决方案。 Plz,任何帮助表示赞赏! 这是我的代码▼
beaconManager.addMonitorNotifier(new MonitorNotifier() {
@Override
public void didEnterRegion(Region region) {
//Log.i(TAG, "I just saw an beacon for the first time!");
sendData(dataStart);
mHandler.post(new Runnable() {
@Override
public void run() {
tv_beacon_.setText("work");
}
});
}
@Override
public void didExitRegion(Region region) {
//Log.i(TAG, "I no longer see an beacon");
sendData(dataEnd);
mHandler.post(new Runnable() {
@Override
public void run() {
tv_beacon_.setText("not work");
}
});
}
@Override
public void didDetermineStateForRegion(int state, Region region) {
Log.i(TAG, "I have just switched from seeing/not seeing beacons: "+state);
}
此行为是预期的,因为 didEnterRegion
回调只会在您不在该区域时触发。您可以在这里了解更多信息:https://altbeacon.github.io/android-beacon-library/detection-trouble.html
不过你可以做的是打电话
beaconManager.setRegionStatePeristenceEnabled(false)
这将使 didEnterRegion
回调在应用重新启动后触发,即使 phone 已经在信标区域中。
如果您这样做,请记住,当应用程序在后台被 Android OS.
临时终止时,回调可能会触发多次