2017-01-03 5 views
0

Я использую библиотеку альфа-маяка для моего проекта, но у меня есть большая проблема в получении маяков. В первый раз метод обнаруживает 1 или 2 маяковых сигнала и после этого не обнаруживает никаких маяков. Маяки успешно запущены (я проверил с LOCATE APP и все в порядке). Также отключил Wi-Fi. Я прочитал некоторые решения в stackoverflow, но ничего плохого для моей проблемы.didRangeBeaconsInRegion не работает всегда в библиотеке altBeacon

Код для ПОЛУЧИТЬ маяков является:

@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); 

      } 

     } 

    }); 
} 

В первый раз (1 или 2 маяки) задержание хорошо, но после того, как не хорошо.

Журнал является следующим:

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** 

П.Д.: Мои телефоны SAMSUNG GALAXY ALPHA и LG MOTO E, как 5.0.2 Android Версия

Большое спасибо !!

+0

Можете ли вы показать определение класса, в котором находится фрагмент кода? Это может быть проблема с жизненным циклом Android. – davidgyoung

+0

@davidgyoung спасибо за вашу помощь, да, код находится в FragmentActivity. расширяет FragmentActivity реализует GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, BeaconConsumer – JMR

+0

Когда вы звоните 'beaconManager.bind()' и вы когда-нибудь назвать 'beaconManager.unbind()'? Если вы остаетесь на этом мероприятии, не переключаясь на другой или не блокируя блокировку экрана, продолжает ли растояние работать? – davidgyoung

ответ

0

Проблема заключалась в следующем:

@davidyoung сказал мне, какая проблема может быть Android жизненным циклом. Он был прав. В программе был бесконечный цикл.

Благодарю вас @davidyoung.

Смежные вопросы