Я использую библиотеку альфа-маяка для моего проекта, но у меня есть большая проблема в получении маяков. В первый раз метод обнаруживает 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 Версия
Большое спасибо !!
Можете ли вы показать определение класса, в котором находится фрагмент кода? Это может быть проблема с жизненным циклом Android. – davidgyoung
@davidgyoung спасибо за вашу помощь, да, код находится в FragmentActivity. расширяет FragmentActivity реализует GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, BeaconConsumer – JMR
Когда вы звоните 'beaconManager.bind()' и вы когда-нибудь назвать 'beaconManager.unbind()'? Если вы остаетесь на этом мероприятии, не переключаясь на другой или не блокируя блокировку экрана, продолжает ли растояние работать? – davidgyoung