Class CycledLeScanner

    • Field Detail

      • ANDROID_N_MAX_SCAN_DURATION_MILLIS

        public static final long ANDROID_N_MAX_SCAN_DURATION_MILLIS
        See Also:
        Constant Field Values
      • mNextScanCycleStartTime

        protected long mNextScanCycleStartTime
      • mScanningPaused

        protected boolean mScanningPaused
      • mContext

        protected final Context mContext
      • mBetweenScanPeriod

        protected long mBetweenScanPeriod
      • mScanHandler

        @NonNull
        protected final Handler mScanHandler
        Handler to background thread for interacting with the low-level Android BLE scanner.

        Use this to queue any potentially long running BLE scanner actions such as starts and stops.

      • mBackgroundFlag

        protected boolean mBackgroundFlag
      • mRestartNeeded

        protected boolean mRestartNeeded
    • Method Detail

      • setLongScanForcingEnabled

        public void setLongScanForcingEnabled​(boolean enabled)
        Enables the scanner to go to extra lengths to keep scans going for longer than would otherwise be allowed. Useful only for Android N and higher.
        Parameters:
        enabled -
      • setScanPeriods

        @MainThread
        public void setScanPeriods​(long scanPeriod,
                                   long betweenScanPeriod,
                                   boolean backgroundFlag)
        Tells the cycler the scan rate and whether it is in operating in background mode. Background mode flag is used only with the Android 5.0 scanning implementations to switch between LOW_POWER_MODE vs. LOW_LATENCY_MODE
        Parameters:
        backgroundFlag -
      • start

        @MainThread
        public void start()
      • stop

        @MainThread
        public void stop()
      • getDistinctPacketsDetectedPerScan

        @AnyThread
        public boolean getDistinctPacketsDetectedPerScan()
      • setDistinctPacketsDetectedPerScan

        @AnyThread
        public void setDistinctPacketsDetectedPerScan​(boolean detected)
      • destroy

        @MainThread
        public void destroy()
      • stopScan

        protected abstract void stopScan()
      • deferScanIfNeeded

        protected abstract boolean deferScanIfNeeded()
      • startScan

        protected abstract void startScan()
      • scanLeDevice

        @MainThread
        protected void scanLeDevice​(Boolean enable)
      • scheduleScanCycleStop

        @MainThread
        protected void scheduleScanCycleStop()
      • finishScan

        protected abstract void finishScan()
      • setWakeUpAlarm

        protected void setWakeUpAlarm()
      • cancelAlarmOnUserSwitch

        protected void cancelAlarmOnUserSwitch()
      • cleanupCancelAlarmOnUserSwitch

        protected void cleanupCancelAlarmOnUserSwitch()
      • getWakeUpOperation

        protected PendingIntent getWakeUpOperation()
      • cancelWakeUpAlarm

        protected void cancelWakeUpAlarm()