The Android MOVE SDK must be initialized by adding MoveSdk.init() at the first line in your Android Application class (onCreate). This instance can then be used to control MOVE SDK services (check API Interface for more details).
After the MOVE SDK has been initialized you also want to add notifications, listeners or activate additional features.
Also, you have to configure the MOVE SDK before you can call .setup(...).
To successfully initialize and run the MOVE SDK, the user's MoveAuth must already be fetched with the MOVE Admin API and the required permissions must be granted (Permission Handling).
If the provided MoveAuth is invalid, the MOVE SDK will not initialize.
If the required permissions are missing, the MOVE SDK State will change to READY. Additionally, MoveServiceFailure and/or MoveServiceWarning will present the missing permission.
The initialization of the MOVE SDK is asynchronous and you will be notified regarding state changes with the MoveStateListener. On successful initialization the MoveSdkState changes to READY.
To be able to use the MOVE SDK, several permissions need to be granted. This is described in Permission Handling.
Now that there is an instance of the MOVE SDK, the detection may be started with startAutomaticDetection(), which should lead to the state RUNNING of the MOVE SDK.