iBeaconResult не возвращает массив объектов маяка - PullRequest
0 голосов
/ 10 июля 2020

Для проекта Ioni c я пытаюсь сканировать iBeacons на устройстве Android. Используемый мной пример кода такой же, как описано в документации, за исключением UUID и идентификатора (я проверил их, и они выглядят правильно).

https://ionicframework.com/docs/v3/native/ibeacon/

delegate.didEnterRegion()
  .subscribe(
    data => {
      console.log('didEnterRegion: ', data);
    }
  );

let beaconRegion = this.ibeacon.BeaconRegion('deskBeacon','F7826DA6-ASDF-ASDF-8024-BC5B71E0893E');

this.ibeacon.startMonitoringForRegion(beaconRegion)
  .then(
    () => console.log('Native layer received the request to monitoring'),
    error => console.error('Native layer failed to begin monitoring: ', error)
  );

Похоже, что все работает хорошо, когда он достигает didEnterRegion () со следующими данными:

eventType: "didEnterRegion"
region:
  identifier: "my_identifier"
  typeName: "BeaconRegion"
  uuid: "my_id"

Единственная проблема в том, что возвращаемое значение (IBeaconPluginResult) не такое, как описано в документация (https://ionicframework.com/docs/v3/native/ibeacon/#IBeaconPluginResult), так как отсутствует массив маяков.

Также я реализовал делегат didRangeBeaconsInRegion, но он никогда не достигает обратного вызова.

 delegate.didRangeBeaconsInRegion()
          .subscribe(
              data => console.log('didRangeBeaconsInRegion: ', data),
              error => console.error()
          );

Что я делаю не так? Я что-то упустил?

edit: Я также загрузил приложение Locate Beacon из магазина Google Play, которое обнаруживает маяк.

1 Ответ

0 голосов
/ 10 июля 2020

Хорошо .. Смотрю сейчас утром и чувствую себя глупо, что использовал метод startMonitoringForRegion вместо startRangingBeaconsInRegion ...

...