Я работаю над простым приложением приближения маяка с использованием библиотеки AltBeacon отсюда https://altbeacon.github.io/android-beacon-library/samples.html.
Я экспериментирую с примером кода, предоставленным на вышеуказанном веб-сайте, однако каждый раз, когда я запускаю приложение, он переходит только к методу addRangingNotifier()
. Если бы он обнаружил маяк, он записал бы размер маяка.
private Region defaultRegion = null;
defaultRegion = new Region("BeaconIdentifier", Identifier.fromUuid(java.util.UUID.fromString(UUID)), null, null);
beaconManager = BeaconManager.getInstanceForApplication(this);
beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
beaconManager.bind(this);
@Override
public void onBeaconServiceConnect() {
beaconManager.addRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
if (beacons.size() > 0) {
Log.d("MainInfo","Beacon List Size " + beacons.size());
}else{
Log.d("MainInfo","Beacon Empty");
}
}
});
try {
beaconManager.startRangingBeaconsInRegion(defaultRegion);
} catch (RemoteException e) {}
}
Я могу получить размер маяка вокруг себя.
Я тестирую два устройства (A: Samsung galaxy J510-Marshmellow / B: Samsung galaxy J7-Nougat), B сканирую маяк и печатаю Размер списка маяков, но, A не могу сканировать маяк и печатаю Beacon Empty .
Итак, я тестирую то же устройство Marshmellow, но не могу его найти.
Есть ли какие-либо коды, которые должны быть добавлены в зависимости от операционной системы?