> For the complete documentation index, see [llms.txt](https://docs.movesdk.com/move-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.movesdk.com/move-platform/move-sdk-1.x/sdk/models/movedevicestatus.md).

# MoveDeviceStatus

[MoveDeviceStatus](/move-platform/move-sdk-1.x/sdk/models/movedevicestatus.md) represents the current device's system permissions (for [Android](/move-platform/move-sdk-1.x/sdk/appendix/android/permission-handling.md) / [iOS](/move-platform/move-sdk-1.x/sdk/appendix/ios/permission-handling.md)) and services status.

{% tabs %}
{% tab title="Android" %}

```kotlin
MoveDeviceStatus{  
    isLocationGranted: Boolean
    isBackgroundPermissionGranted: Boolean
    isPreciseLocationGranted: Boolean
    isMotionGranted: Boolean
    isOverlayGranted: Boolean
    isPhoneGranted: Boolean
    isGyroPresent: Boolean
    isAccelerometerPresent: Boolean
}
```

{% endtab %}

{% tab title="iOS" %}

```swift
struct MoveDeviceStatus{   
    var isLocationGranted: Bool
    var isPreciseLocationGranted: Bool
    var isMotionGranted: Bool
    var isGyroPresent: Bool
    var isAccelerometerPresent: Bool
    var isBackgroundPermissionGranted: Bool
    var isDistractionDetectionPossible: Bool
    var isDrivingBehaviourPossible: Bool
}
```

{% endtab %}
{% endtabs %}

| **MoveDeviceStatus**           |       |      |                                                                                                                                                                                  |
| ------------------------------ | ----- | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| isLocationGranted              | A/iOS | Bool | Indicates if system's location permission is granted.                                                                                                                            |
| isPreciseLocationGranted       | A/iOS | Bool | Indicates if location precision permission is granted (iOS 14), resp. If the location accuracy is high (Android / Google Play Services).                                         |
| isMotionGranted                | A/iOS | Bool | Indicates if system's motion(iOS)/activity recognition (Android) permission is granted.                                                                                          |
| isGyroPresent                  | A/iOS | Bool | Indicates if the device's gyroscope sensor is available.                                                                                                                         |
| isAccelerometerPresent         | A/iOS | Bool | Indicates if the device's accelerometer sensor is available.                                                                                                                     |
| isBackgroundPermissionGranted  | A/iOS | Bool | Indicates if system's background location permission is granted.                                                                                                                 |
| isOverlayGranted               | A     | Bool | Indicates if system's overlay permission is granted.                                                                                                                             |
| isDistractionDetectionPossible | iOS   | Bool | Indicates if all the permissions required for the Distraction detection service are granted. Check [Config](/move-platform/move-sdk-1.x/sdk/models/moveconfig.md) for more info. |
| isDrivingBehaviourPossible     | iOS   | Bool | Indicates if all the permissions required for the Driving behaviour service are granted. Check [Config](/move-platform/move-sdk-1.x/sdk/models/moveconfig.md) for more info.     |

| **MoveDeviceStatus-related APIs**                                                                                                                                                                                                                                              |                                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| getDeviceStatus() (in [Android](/move-platform/move-sdk-1.x/sdk/api-interface/android-1/android.md#get-device-status) / [iOS](/move-platform/move-sdk-1.x/sdk/api-interface/ios.md#get-device-status))                                                                         | Gets the current [MoveDeviceStatus](/move-platform/move-sdk-1.x/sdk/models/movedevicestatus.md)*.*                               |
| Device Status Listener ([Android](https://docs.movesdk.com/move-platform/move-sdk-1.x/sdk/models/pages/-MZIfp4AHvpUSOaycA60#DolphinSdk.Builderv1.1-sdkstatelistenerSdkstatelistener) / [iOS](/move-platform/move-sdk-1.x/sdk/api-interface/ios.md#set-device-status-listener)) | Provide a block to be invoked every time [MoveDeviceStatus](/move-platform/move-sdk-1.x/sdk/models/movedevicestatus.md) changes. |
