我使用AltBeacon庫來檢測iBeacon設備。這是我使用的代碼,基於AltBeacon的文檔,但沒有檢測到信標:使用Android上的AltBeacon庫檢測iBeacon
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"));
beaconManager.bind(this);
beaconManager.addMonitorNotifier(new MonitorNotifier() {
@Override
public void didEnterRegion(Region region) {
Log.i("test", "I just saw an beacon for the first time!");
}
@Override
public void didExitRegion(Region region) {
Log.i("test", "I no longer see an beacon");
}
@Override
public void didDetermineStateForRegion(int state, Region region) {
Log.i("test", "I have just switched from seeing/not seeing beacons: "+state);
}
});
try {
beaconManager.startMonitoringBeaconsInRegion(new Region("e2c56db5-dffb-48d2-b060-d0f5a71096e0", null, null, null));
} catch (RemoteException e) { }
這段代碼錯了嗎?
我的活動實際上實現了BeaconConsumer事實上的代碼編譯沒有問題。 現在我已經修改了代碼: 'beaconManager.startMonitoringBeaconsInRegion(新區域( 「com.example.app.region1」, Identifier.parse( 「e2c56db5-dffb-48d2-B060-d0f5a71096e0」),空, null));' 但仍然無法正常工作。 另外我已經在try/catch塊中添加了一個日誌,並且代碼沒有失敗。任何解決方案 – Loris
此外,當我第一次啓動應用程序時,事件'didDetermineStateForRegion'被觸發,狀態參數爲0 – Loris
您是否獲得了onBeaconServiceConnected的回調? – davidgyoung