android - AltBeacon 库 - setBackgroundScanPeriod 不工作

标签 android ibeacon-android altbeacon beacon

我正在使用 Android Beacon Library 检测信标.

根据其他Stackoverflow的问题答案如下是解决方案

beaconManager.setBackgroundScanPeriod(60000l);
beaconManager.setBackgroundBetweenScanPeriod(60000l);
beaconManager.updateScanPeriods();

但在我的情况下它不起作用。我无法更改扫描周期。

代码如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    beaconManager = BeaconManager.getInstanceForApplication(this);
    beaconManager.getBeaconParsers().add(new BeaconParser()
            .setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"));
    beaconManager.bind(this);
}

@Override
public void onBeaconServiceConnect() {
    try {
        beaconManager.setBackgroundScanPeriod(60000l);
        beaconManager.setBackgroundBetweenScanPeriod(60000l);
        beaconManager.updateScanPeriods();

        beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId",
                Identifier.parse(Config.PROXIMITY_UUID), null, null));
        beaconManager.setRangeNotifier(new RangeNotifier() {
            @Override
            public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
                if (beacons.size() > 0) {
                    Log.i(TAG, "minor:"+ beacons.iterator().next().getId3());
                }


            }
        });
    } catch (RemoteException e) {
        e.printStackTrace();
    }
}

最佳答案

如果你想改变前台的扫描周期,你可以使用等效的方法来改变前台的行为:

beaconManager.setForegroundScanPeriod(60000l);
beaconManager.setForegroundBetweenScanPeriod(60000l);
beaconManager.updateScanPeriods();

了解上面的操作是进行 60 秒的扫描,然后处理看到的所有信标的结果,然后在开始循环之前停止扫描 60 秒。如果您不想每隔一分钟停止一次扫描,请使用这样的代码,它会在最后一个扫描周期结束后立即开始一个新的扫描周期:

beaconManager.setForegroundScanPeriod(60000l);
beaconManager.setForegroundBetweenScanPeriod(0l);
beaconManager.updateScanPeriods();

关于android - AltBeacon 库 - setBackgroundScanPeriod 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32475081/

相关文章:

Android:jUnit 测试 Android 库

android - 室内导航信标

android - iOS 设备看不到 Nexus 9 宣传的 AltBeacon 信标

ios - 在不提供 UUID 的情况下检测 iOS 上的 iBeacon

Android 谷歌地图 API v2 : Authorization failure at different laptops

android - 动 Canvas 局以填充屏幕

android - 拍摄 Android 手机的打印屏幕?

android - 如何更改电源 Estimote 信标?

android - 如何获取 Onyx ibeacons 的电池电量

android - Altbeacon - 仅在 IMMEDIATE 范围内检测信标并丢弃此范围外的任何信标