# IDeviceScanner

public interface IDeviceScanner

#### Inheritors

DeviceScanner

## Types

Companion
Link copied to clipboard
public class Companion
DeviceScannerState
Link copied to clipboard
public enum DeviceScannerState extends Enum<IDeviceScanner.DeviceScannerState>

Enum class to describe the current state of the IDeviceScanner.

OnDeviceFoundListener
Link copied to clipboard
public interface OnDeviceFoundListener

Interface definition for a callback to be invoked when an IDeviceScanner has discovered a supported Nix device.

OnScannerStateChangeListener
Link copied to clipboard
public interface OnScannerStateChangeListener

Interface definition for a callback to be invoked when an IDeviceScanner starts or stops a search.

## Functions

getState
Link copied to clipboard
public abstract IDeviceScanner.DeviceScannerState getState()

Current state of the IDeviceScanner.

listUsbDevices
Link copied to clipboard
public abstract List<IDeviceCompat> listUsbDevices()

List USB attached IDeviceCompat instances without running a Bluetooth search.

scanForHardwareId
Link copied to clipboard
public abstract IDeviceCompat scanForHardwareId(String id, Long scanPeriodMs)

Starts a search for a specific Nix device using Bluetooth. The search will run until the specified device is found, or until a timeout elapses, whichever is shorter.

setOnScannerStateChangeListener
Link copied to clipboard
public abstract Unit setOnScannerStateChangeListener(IDeviceScanner.OnScannerStateChangeListener listener)

Sets a OnScannerStateChangeListener callback reference.

start
Link copied to clipboard
public abstract IDeviceScanner.DeviceScannerState start(IDeviceScanner.OnDeviceFoundListener listener, Long scanPeriodMs)

Starts a search for nearby Nix devices using Bluetooth for a selected time interval. If no timeout interval is specified, the search will run for DEFAULT_GENERAL_SCAN_PERIOD_MS.

startSearchForId
Link copied to clipboard
public abstract IDeviceScanner.DeviceScannerState startSearchForId(IDeviceScanner.OnDeviceFoundListener listener, String id, Long scanPeriodMs)

Starts a search for a specific Nix device using Bluetooth. The search will run until the specified device is found, or until a timeout elapses, whichever is shorter. This search can alternatively be achieved without a callback by calling the coroutine function scanForHardwareId.

stop
Link copied to clipboard
public abstract Unit stop()

Stops a Bluetooth search if one is currently running.