2016-03-04 5 views
2

Я использую следующий метод (взятый из андроида библиотеки радиомаяка)Сканирование маяки несколько раз в секунду (Android-Java)

public void didRangeBeaconsInRegion(final Collection<Beacon> collection, Region region) 

Этот метод обратного вызова «обнаруживает» маяки каждые 1,1 секунды , Чтобы быть более точным, он срабатывает каждые 1,1 секунды. Мое маяковое устройство (Kontakt i.o). Отправляет пакеты каждые 200 мс. Я выяснил, что нет способа как-то уменьшить интервал срабатывания вышеописанного метода, поэтому мой вопрос заключается в том, есть ли альтернатива этому методу, чтобы я мог чаще выполнять вычисления расстояния.

В основном я обеспечиваю ПУПС и TxPower в качестве аргумента и делать больше некоторые вычисления, чтобы сделать дистанцирование более точным, так что я хотел бы получить мой RSSI каждые 200 мс не каждый второй ...

ответ

1

Создать экземпляр BeaconManager, вы можете установить несколько методов относительно сканирования:

BeaconManager manager = BeaconManager.getInstanceForApplication(context); 
manager.setBackgroundScanPeriod(milliseconds); //defaults to 10 
manager.setBackgroundBetweenScanPeriod(miliseconds); //Period between scans 
manager.setForegroundBetweenScanPeriod(miliseconds); //Period between scans 
manager.setForegroundScanPeriod(milliseconds); //defaults to 1.1 

вы можете найти еще несколько методов, когда вы смотрите на BeaconManager источник.

+0

SetForegroundBetweenScanPeriod (miliseconds) выполнил эту работу! Tnx невероятно, я просто не мог его найти, +25. –