Monitoraggio del beacon Android durante la distanza
-
20-12-2019 - |
Domanda
In continuazione con la mia domanda precedente ha chiesto qui , non seguo più l'approccio di creare singola regione per tutti i beacons.Ora sto creando regioni in fase di esecuzione.Ho fatto prima in giro. Di seguito è riportato il codice che sto cercando di implementare.
public void onBeaconsDiscovered(Region region, final List<Beacon> beacons) {
for(int i =0;i<beacons.size();i++)
{
Region r = new Region("RegionID", beacons.get(i).getProximityUUID(), beacons.get(i).getMajor(), beacons.get(i).getMinor());
try {
beaconManager.startMonitoring(r);
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
public void onEnteredRegion(Region arg0, List<Beacon> arg1) {
//Log Data in DB
}
public void onExitedRegion(Region region) {
//Log Data in DB
}
.
L'approccio sopra menzionato è corretto?Il problema è, a volte, lo stesso faro sta entrando due volte in OnelenteredRegion () , senza uscire.Ho provato a giocare con l'intervallo di scansione per la scansione in primo piano e allo sfondo, ma le cose non sono sincronizzate.Sto usando Stutote Beacon SDK per Android.
Soluzione
Il problema potrebbe essere molto semplice.Il campione di codice riutilizza la stessa regione Identificatore "RegionID"
per tutte le regioni.Si prega di utilizzare quelli diversi.