Ich beobachte Kontakt Beacons in meiner App und benutze den SpaceListener, um zu wissen, wann der Benutzer eine Region eingibt und wann der Benutzer die Region verlässt. Das Problem ist, dass ich ständig erhielt und die Region eintrat und die Region verlassen wurde. Ich verwende Version 3.2.0 der Bibliothek. Beacons sind nur eine 1m von mir und weder die Beacons noch ich bewegen sich. Ist das das normale Verhalten?Kontakt region ständig betreten und verlassen
@Override
public void onCreate() {
super.onCreate();
proximityManager = new ProximityManager(this);
proximityManager.setIBeaconListener(createIBeaconListener());
proximityManager.setSpaceListener(new SpaceListener() {
@Override
public void onRegionEntered(IBeaconRegion region) {
Log.d(TAG,"onRegionEntered");
}
@Override
public void onRegionAbandoned(IBeaconRegion region) {
Log.d(TAG,"onRegionAbandoned");
}
@Override
public void onNamespaceEntered(IEddystoneNamespace namespace) {
}
@Override
public void onNamespaceAbandoned(IEddystoneNamespace namespace) {
}
});
proximityManager.configuration()
.scanMode(ScanMode.BALANCED)
.activityCheckConfiguration(ActivityCheckConfiguration.MINIMAL)
.forceScanConfiguration(ForceScanConfiguration.MINIMAL);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
proximityManager.connect(new OnServiceReadyListener() {
@Override
public void onServiceReady() {
proximityManager.startScanning();
}
});
return START_STICKY;
}
private IBeaconListener createIBeaconListener() {
return new SimpleIBeaconListener() {
private SFBeacon nearestBeacon;
@Override
public void onIBeaconDiscovered(IBeaconDevice iBeaconDevice, IBeaconRegion region) {
Log.d(TAG,"----------------------------------------------");
Log.d(TAG,"Detected: "+iBeaconDevice.getUniqueId()+" "+iBeaconDevice.getProximityUUID().toString()+" "+iBeaconDevice.getMajor()+" "+iBeaconDevice.getMinor());
}
}
Beacons sind in meiner Nähe und sie haben volle Batterie. Ich habe auch mit den niedrigen Latenzparametern überprüft, aber das Verhalten ist immer noch falsch. Aber ich habe AltBeacon Bibliothek getestet und es funktioniert wie erwartet. Jedenfalls, danke David. – esteban
Gut zu hören, dass die [Android Beacon Library] (http://altbeacon.github.io/android-beacon-library/) für Sie arbeitet! Ich zögerte zu empfehlen, es zu versuchen, da ich der Hauptentwickler dieses Projekts bin und Sie nicht von einem alternativen SDK abbringen wollte. – davidgyoung