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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top