# StorageManager.StorageVolumeCallback

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# StorageVolumeCallback

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/os/storage/StorageManager.StorageVolumeCallback "View this page in Java")  

```
open class StorageVolumeCallback
```

|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                                     ||
| ↳ | [android.os.storage.StorageManager.StorageVolumeCallback](https://developer.android.com/reference/kotlin/android/os/storage/StorageManager.StorageVolumeCallback#) |

Callback that delivers[StorageVolume](https://developer.android.com/reference/kotlin/android/os/storage/StorageVolume)related events.

For example, this can be used to detect when a volume changes to the[Environment.MEDIA_MOUNTED](https://developer.android.com/reference/kotlin/android/os/Environment.html#MEDIA_MOUNTED:kotlin.String)or[Environment.MEDIA_UNMOUNTED](https://developer.android.com/reference/kotlin/android/os/Environment.html#MEDIA_UNMOUNTED:kotlin.String)states.

## Summary

|                                                                          Public constructors                                                                          ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [StorageVolumeCallback](https://developer.android.com/reference/kotlin/android/os/storage/StorageManager.StorageVolumeCallback#StorageVolumeCallback())`()` <br /> |

|                                                                                                                                                                                                                                                                                                                                                                                                          Public methods                                                                                                                                                                                                                                                                                                                                                                                                          ||
|----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| open[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onStateChanged](https://developer.android.com/reference/kotlin/android/os/storage/StorageManager.StorageVolumeCallback#onStateChanged(android.os.storage.StorageVolume))`(`volume:` `[StorageVolume](https://developer.android.com/reference/kotlin/android/os/storage/StorageVolume)`)` Called when[StorageVolume.getState()](https://developer.android.com/reference/kotlin/android/os/storage/StorageVolume#getState())changes, such as changing to the[Environment.MEDIA_MOUNTED](https://developer.android.com/reference/kotlin/android/os/Environment.html#MEDIA_MOUNTED:kotlin.String)or[Environment.MEDIA_UNMOUNTED](https://developer.android.com/reference/kotlin/android/os/Environment.html#MEDIA_UNMOUNTED:kotlin.String)states. |

## Public constructors

### StorageVolumeCallback

```
StorageVolumeCallback()
```

## Public methods

### onStateChanged

Added in[API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
open fun onStateChanged(volume: StorageVolume): Unit
```

Called when[StorageVolume.getState()](https://developer.android.com/reference/kotlin/android/os/storage/StorageVolume#getState())changes, such as changing to the[Environment.MEDIA_MOUNTED](https://developer.android.com/reference/kotlin/android/os/Environment.html#MEDIA_MOUNTED:kotlin.String)or[Environment.MEDIA_UNMOUNTED](https://developer.android.com/reference/kotlin/android/os/Environment.html#MEDIA_UNMOUNTED:kotlin.String)states.

The given argument is a snapshot in time and can be used to process events in the order they occurred, or you can call[StorageManager.getStorageVolumes()](https://developer.android.com/reference/kotlin/android/os/storage/StorageManager#getStorageVolumes())to observe the latest value.

|                                                               Parameters                                                               ||
|----------|------------------------------------------------------------------------------------------------------------------------------|
| `volume` | [StorageVolume](https://developer.android.com/reference/kotlin/android/os/storage/StorageVolume):This value cannot be`null`. |