我的任務是修復一些在iBeacons中使用altbeacon的代碼。 信標的檢測在前臺運行良好,但不在後臺運行。關於RegionBootstrap以及何時使用它的疑問
在這種掃描在前景模式中,在進入背景的onStop使用來自beaconmanager解除綁定,然後調用該例在beaconBkgService的方法中的活動:
活動碼:
protected void onStop() {
super.onStop();
try {
// Do we need to unbind????
iBeaconManager.unbind(this);
beaconBkgService.startScanning();
} catch (Exception e) {
e.printStackTrace();
}
}
beaconBkgService代碼:
public class beaconBkgService extends Application implements BootstrapNotifier {
public void startScanning() {
try {
mBeaconManager = BeaconManager.getInstanceForApplication(this);
mBeaconManager.setBackgroundBetweenScanPeriod(3000L);
mBeaconManager.setBackgroundScanPeriod(1000L);
mBeaconManager.setBackgroundMode(true);
if (mRegionBootstrap == null){
mAllBeaconsRegion = new ArrayList<Region>();
for (UserBeacons userBeacon : userBeacons) {
mBeaconsRegion = new Region(userBeacon.identifier, userBeacon.UUID, null, null);
mAllBeaconsRegion.add(mBeaconsRegion);
}
mRegionBootstrap = new RegionBootstrap(this, mAllBeaconsRegion);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如果該活動的onStop調用燈塔管理員解除綁定()調用beaconBkgService.startScanning之前( )?我曾嘗試過,但沒有任何工作。
期望的結果是,當應用程序進入後臺時,掃描應該每3秒持續1秒,但beaconBkgService didEnterRegion不會在啓動信標和應用程序處於後臺時觸發。
當我得到這個工作時,如果Activity在前臺檢測到信標,那麼ExitRegion如何實現,然後用戶切換到背景並退出信標區域? beaconBkgService中的onExitRegion會觸發嗎?即使用RegionBootstrap從前景到後臺保存狀態?
感謝您的回覆。後臺掃描是在另一個類公共類beaconBkgService擴展應用程序實現BootstrapNotifier,以便應該是OK是嗎? – newbie101