Я пытаюсь обнаружить beacon
один раз каждые 30 секунд в фоновом режиме, и когда приложение находится на переднем плане, оно должно постоянно обнаруживать маяк без какого-либо интервала. Для этого это код, который я написал,
public void onCreate() {
super.onCreate();
mBeaconManager = org.altbeacon.beacon.BeaconManager.getInstanceForApplication(this);
mBeaconManager.getBeaconParsers().clear();
mBeaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_UID_LAYOUT));
Identifier myBeaconNamespaceId = Identifier.parse("0xe2bfcc3cc2370789caef");
Region region = new Region("my-beacon-region", myBeaconNamespaceId, null, null);
mBeaconManager.setBackgroundBetweenScanPeriod(25000l);
mBeaconManager.setBackgroundScanPeriod(5000l);
mBeaconManager.setForegroundScanPeriod(60000l);
mBeaconManager.setForegroundBetweenScanPeriod(0l);
try {
mBeaconManager.updateScanPeriods();
} catch (RemoteException e) {
e.printStackTrace();
}
regionBootstrap = new RegionBootstrap(this, region);
backgroundPowerSaver = new BackgroundPowerSaver(this);
}
Несмотря на то, что я установил определенный период сканирования, он по-прежнему обнаруживает маяки с интервалом времени по умолчанию. Спасибо.