@SuppressLint("MissingPermission")
  @RequiresPermission(anyOf = {
      ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION
  })
  public Observable<Beacon> observe(ScanStrategy scanStrategy) {
    if (!isBleSupported()) {
      return Observable.empty();
    }

    checkNotNull(scanStrategy, MSG_SCAN_STRATEGY_CANNOT_BE_NULL);
    return scanStrategy.observe();
  }
@ SuppressLint ( "MissingPermission" ) @ RequiresPermission ( anyOf = { ACCESS_COARSE_LOCATION , ACCESS_FINE_LOCATION } ) public Observable < Beacon > observe ( ScanStrategy scanStrategy ) { if ( ! isBleSupported ( ) ) { return Observable . empty ( ) ; } checkNotNull ( scanStrategy , MSG_SCAN_STRATEGY_CANNOT_BE_NULL ) ; return scanStrategy . observe ( ) ; }
Creates an observable stream of BLE beacons, which can be subscribed with RxJava.
This method can scan beacons with provided scan strategy, which can be one of the existing
strategies like {@link LollipopScanStrategy} or {@link PreLollipopScanStrategy} or any
custom scan strategy implementing {@link ScanStrategy} interface

@param scanStrategy BLE scan strategy
@return Observable stream of beacons