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

# MediaDrm.OnKeyStatusChangeListener

*** ** * ** ***

` public static interface MediaDrm.OnKeyStatusChangeListener `   
` `

|---|
| android.media.MediaDrm.OnKeyStatusChangeListener |

<br />

*** ** * ** ***

Interface definition for a callback to be invoked when the keys in a drm session change states.

## Summary

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/android/media/MediaDrm.OnKeyStatusChangeListener#onKeyStatusChange(android.media.MediaDrm,%20byte[],%20java.util.List<android.media.MediaDrm.KeyStatus>,%20boolean)(https://developer.android.com/reference/android/media/MediaDrm md, byte[] sessionId, https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/media/MediaDrm.KeyStatus> keyInformation, boolean hasNewUsableKey) ` Called when the keys in a session change status, such as when the license is renewed or expires. |

## Public methods

### onKeyStatusChange

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

```
public abstract void onKeyStatusChange (MediaDrm md, 
                byte[] sessionId, 
                List<MediaDrm.KeyStatus> keyInformation, 
                boolean hasNewUsableKey)
```

Called when the keys in a session change status, such as when the license is renewed or expires.

<br />

| Parameters ||
|---|---|
| `md` | `MediaDrm`: the MediaDrm object on which the event occurred. This value cannot be `null`. <br /> |
| `sessionId` | `byte`: the DRM session ID on which the event occurred. This value cannot be `null`. <br /> |
| `keyInformation` | `List`: a list of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus` instances indicating the status for each key in the session. This value cannot be `null`. <br /> |
| `hasNewUsableKey` | `boolean`: indicates if a key has been added that is usable, which may trigger an attempt to resume playback on the media stream if it is currently blocked waiting for a key. <br /> |