如何减少Android信标中的范围检测间隔

时间:2017-07-11 06:09:30

标签: android ibeacon ibeacon-android android-ibeacon

我使用 Android Beacon Library 作为我的一个信标解决方案。我可以看到,如果我进入信标范围..它会调用" didEnterRegion" 功能,但它永远不会进入" didExitRegion" 当我离开灯塔区域时。我正在使用我在此处Android iBeacon App not working in the background使用的上述代码。除此之外,还有什么方法可以减少范围检测,因为我经常不断获取,因为逻辑上我想记录数据并在客户输入1 mt范围内的信标时发送一次通知。

1 个答案:

答案 0 :(得分:1)

在另一个问题中显示的代码中,didEnter Region方法禁用regionBootstrap.disable()监控。如果您不想禁用它,请删除该代码。

@Override
public void didEnterRegion(Region arg0) {
    Log.d(TAG, "Got a didEnterRegion call");
    // This call to disable will make it so the activity below only gets launched the first time a beacon is seen (until the next time the app is launched)
    // if you want the Activity to launch every single time beacons come into view, remove this call.
    regionBootstrap.disable();
    Intent intent = new Intent(this, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    // Important:  make sure to add android:launchMode="singleInstance" in the manifest
    // to keep multiple copies of this activity from getting created if the user has
    // already manually launched the app.
    this.startActivity(intent);


}

如果您不想发送通知,直到用户<&lt; 1m,您必须使用didRangeBeaconsInRegion回调,然后仅在beacon.getDistance < 1.0时触发通知。