2017-01-03 1 views
0

J'utilise la bibliothèque alt beacon pour mon projet mais j'ai un gros problème pour obtenir des balises. Dans un premier temps, la méthode détecte 1 ou 2 balises et ne détecte aucune balise. Les balises sont bien lancées (j'ai vérifié avec LOCATE APP et tout va bien). J'ai également désactivé le wifi. J'ai lu quelques solutions dans stackoverflow mais tout n'est pas bon pour mon problème.didRangeBeaconsInRegion ne fonctionne pas toujours dans la bibliothèque altBeacon

Le code pour les balises get est:

@Override 
public void onBeaconServiceConnect() { 

    try { 
     beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null)); 
    } catch (RemoteException e) { 
     e.printStackTrace(); 
    } 
    beaconManager.addRangeNotifier(new RangeNotifier() { 
     @Override 
     public void didRangeBeaconsInRegion(Collection<Beacon> collection, Region region) { 
      for (Beacon oneBeacon : collection) { 
       toProcessBeacon(oneBeacon); 

      } 

     } 

    }); 
} 

La première fois (1 ou 2 balises) la détention est bonne, mais après n'est pas bon.

Le journal est la suivante:

01-03 16:44:53.531 D/BluetoothLeScanner: onScanResult() - ScanResult{mDevice=73:64:DC:CC:28:89, mScanRecord=ScanRecord [mAdvertiseFlags=-1, mServiceUuids=null, mManufacturerSpecificData={280=[-66, -84, -8, -49, -59, 97, 8, -28, 120, 120, 120, 120, 120, 127, 127, 127, 127, 127, 0, 1, 0, 0, -56, 0]}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=null], mRssi=-35, mTimestampNanos=2335797686443} 
01-03 16:44:54.546 D/ScanRecord: parseFromBytes 
01-03 16:44:54.551 D/ScanRecord: first manudata for manu ID**strong text** 

pd: Mes téléphones sont SAMSUNG GALAXY ALPHA et LG E MOTO, à la fois la version 5.0.2 Android

Un grand merci !!

+0

Pouvez-vous afficher la définition de la classe dans laquelle se trouve l'extrait de code? Cela peut être un problème de cycle de vie Android. – davidgyoung

+0

@davidgyoung merci pour votre aide, oui, le code est dans FragmentActivity. étend FragmentActivity implémente GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, BeaconConsumer – JMR

+0

Quand est-ce que vous appelez 'beaconManager.bind()' et appelez-vous jamais 'beaconManager.unbind()'? Si vous restez sur l'activité sans passer à un autre ou laisser l'écran se verrouiller, est-ce que la télémétrie continue à fonctionner? – davidgyoung

Répondre

0

Le problème était le suivant:

@davidyoung m'a dit que le problème pourrait être le cycle de vie Android. Il avait raison. Dans le programme était une boucle infinie.

Merci vous @davidyoung.