2017-10-12 3 views
0

Remarque: J'ai vérifié sur plusieurs appareils toujours pas d'amélioration et je l'ai fait ma fréquence balise à 2000ms mais toujours face à ce problèmeMa balise disparaît après quelques secondes sur didRangeBeaconsInRegion mais je suis près de ma balise

Je suis face à un problème de détection de balise est stable pendant quelques secondes, mais après cela, il disparaît et puis il détecte la balise. Je suis frappé sur celui-ci une suggestion et un échantillon de code sont appréciés !!

code

this.beaconManager = BeaconManager.getInstanceForApplication(this); 
    beaconManager.setForegroundScanPeriod(500); 
    beaconManager.setForegroundBetweenScanPeriod(500); 
    enableBackgroundMode(true); 
    beaconManager.setAndroidLScanningDisabled(true); 
    this.beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24")); 
    this.beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout(EDDYSTONE_UID_LAYOUT)); 
    this.beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout(EDDYSTONE_URL_LAYOUT)); 
    this.beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout(EDDYSTONE_TLM_LAYOUT)); 
    this.beaconManager.setDebug(true); 
    this.beaconManager.bind(this); 




    this.beaconManager.addRangeNotifier(new RangeNotifier() { 
     @Override 
     public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) { 
      Log.e(TAG, "beacons size=>" + beacons.size()); 

      if (beacons.size() > 0) { 
       //my code 
      } 
    } 
}); 

LogCat:

10-12 12:33:48.381 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:49.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:50.356 12357-12881/com.mypackageName.android D/RangeState: adding id1: 87f8acb5-9ad0-29a7-204c-f080e2b55c0d id2: 10 id3: 1 to existing range for: [email protected] 
10-12 12:33:50.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:51.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:52.381 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:52.391 12357-12880/com.mypackageName.android D/RangeState: adding id1: 87f8acb5-9ad0-29a7-204c-f080e2b55c0d id2: 10 id3: 1 to existing range for: [email protected] 
10-12 12:33:53.381 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:54.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:54.396 12357-12880/com.mypackageName.android D/RangeState: adding id1: 87f8acb5-9ad0-29a7-204c-f080e2b55c0d id2: 10 id3: 1 to existing range for: [email protected] 
10-12 12:33:55.381 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:56.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:57.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:58.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:33:59.381 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:34:00.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:34:01.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 
10-12 12:34:02.376 12357-12357/com.mypackageName.android D/Callback: attempting callback via global broadcast intent: ComponentInfo{com.mypackageName.android/org.altbeacon.beacon.BeaconIntentProcessor} 

Répondre

1

Essayez de supprimer les lignes:

beaconManager.setForegroundScanPeriod(500); 
beaconManager.setForegroundBetweenScanPeriod(500); 

Sans ces lignes (en utilisant les paramètres par défaut), la bibliothèque va scanner constamment dans le premier plan. Avec ces lignes présentes, il ne fera que balayer une demi-seconde à la fois, ce qui fait qu'il manquera probablement les transmissions de votre balise et entraînera des pertes dans les détections.

+0

je vais l'essayer pour le premier plan.Comment la numérisation en arrière-plan? – prasanthMurugan

+1

Pour l'analyse en arrière-plan, la classe BackgroundPowerSaver est recommandée. Il passera automatiquement votre application entre le mode de fond et de premier plan. Par défaut, les analyses d'arrière-plan s'exécutent pendant 10 secondes toutes les 5 minutes (toutes les 15 minutes sur Android 8+) et une analyse de faible consommation est exécutée en permanence sur Android 5+ en arrière-plan jusqu'à la découverte des balises. C'est tout le comportement par défaut si vous utilisez BackgroundPowerSaver. – davidgyoung

+0

ok merci beaucoup.Aimez votre produit et la façon dont vous avez donné son soutien :-) – prasanthMurugan