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

# TvInteractiveAppCallback

*** ** * ** ***

```
abstract class TvInteractiveAppCallback
```

|---|---|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||
| ↳ | [android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback](https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#) |

Callback used to receive various status updates on the `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView`.

## Summary

| Public constructors ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#TvInteractiveAppCallback()()` <br /> |

| Public methods ||
|---|---|
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onBiInteractiveAppCreated(kotlin.String,%20android.net.Uri,%20kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, biIAppUri: https://developer.android.com/reference/kotlin/android/net/Uri.html#, biIAppId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?)` This is called when broadcast-independent (BI) interactive app is created. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onPlaybackCommandRequest(kotlin.String,%20kotlin.String,%20android.os.Bundle)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, cmdType: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, parameters: https://developer.android.com/reference/kotlin/android/os/Bundle.html#)` This is called when a playback command is requested to be processed by the related TV input. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestAvailableSpeeds(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestAvailableSpeeds()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestCertificate(kotlin.String,%20kotlin.String,%20kotlin.Int)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, host: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, port: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCertificate(kotlin.String,%20kotlin.Int)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestCurrentChannelLcn(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCurrentChannelLcn()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestCurrentChannelUri(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCurrentChannelUri()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestCurrentTvInputId(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCurrentTvInputId()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestCurrentVideoBounds(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCurrentVideoBounds()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestScheduleRecording(kotlin.String,%20kotlin.String,%20kotlin.String,%20android.net.Uri,%20android.net.Uri,%20android.os.Bundle)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, requestId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, inputId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, channelUri: https://developer.android.com/reference/kotlin/android/net/Uri.html#, programUri: https://developer.android.com/reference/kotlin/android/net/Uri.html#, params: https://developer.android.com/reference/kotlin/android/os/Bundle.html#)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestScheduleRecording(kotlin.String,%20kotlin.String,%20android.net.Uri,%20android.net.Uri,%20android.os.Bundle)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestScheduleRecording(kotlin.String,%20kotlin.String,%20kotlin.String,%20android.net.Uri,%20kotlin.Long,%20kotlin.Long,%20kotlin.Int,%20android.os.Bundle)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, requestId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, inputId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, channelUri: https://developer.android.com/reference/kotlin/android/net/Uri.html#, startTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html, duration: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html, repeatDays: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, params: https://developer.android.com/reference/kotlin/android/os/Bundle.html#)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestScheduleRecording(kotlin.String,%20kotlin.String,%20android.net.Uri,%20kotlin.Long,%20kotlin.Long,%20kotlin.Int,%20android.os.Bundle)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestSelectedTrackInfo(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestSelectedTrackInfo()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestSigning(kotlin.String,%20kotlin.String,%20kotlin.String,%20kotlin.String,%20kotlin.ByteArray)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, signingId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, algorithm: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, alias: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, data: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestSigning(kotlin.String,%20kotlin.String,%20kotlin.String,%20kotlin.ByteArray)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestSigning(kotlin.String,%20kotlin.String,%20kotlin.String,%20kotlin.String,%20kotlin.Int,%20kotlin.ByteArray)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, signingId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, algorithm: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, host: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, port: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, data: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestSigning(kotlin.String,%20kotlin.String,%20kotlin.String,%20kotlin.Int,%20kotlin.ByteArray)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestStartRecording(kotlin.String,%20kotlin.String,%20android.net.Uri)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, requestId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, programUri: https://developer.android.com/reference/kotlin/android/net/Uri.html#?)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestStartRecording(kotlin.String,%20android.net.Uri)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestStopRecording(kotlin.String,%20kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, recordingId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestStopRecording(kotlin.String)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestStreamVolume(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestStreamVolume()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestTimeShiftMode(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestTimeShiftMode()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestTrackInfoList(kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestTrackInfoList()` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestTvRecordingInfo(kotlin.String,%20kotlin.String)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, recordingId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestTvRecordingInfo(kotlin.String)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onRequestTvRecordingInfoList(kotlin.String,%20kotlin.Int)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, type: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestTvRecordingInfoList(kotlin.Int)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onSetTvRecordingInfo(kotlin.String,%20kotlin.String,%20android.media.tv.TvRecordingInfo)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, recordingId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, recordingInfo: https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingInfo.html#)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#setTvRecordingInfo(kotlin.String,%20android.media.tv.TvRecordingInfo)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onSetVideoBounds(kotlin.String,%20android.graphics.Rect)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, rect: https://developer.android.com/reference/kotlin/android/graphics/Rect.html#)` This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#setVideoBounds(android.graphics.Rect)` is called. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onStateChanged(kotlin.String,%20kotlin.Int,%20kotlin.Int)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, state: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, err: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` This is called when the state of corresponding interactive app is changed. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onTeletextAppStateChanged(kotlin.String,%20kotlin.Int)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, state: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` This is called when the digital teletext app state is changed. |
| open [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView.TvInteractiveAppCallback#onTimeShiftCommandRequest(kotlin.String,%20kotlin.String,%20android.os.Bundle)(iAppServiceId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, cmdType: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, parameters: https://developer.android.com/reference/kotlin/android/os/Bundle.html#)` This is called when a time shift command is requested to be processed by the related TV input. |

## Public constructors

### TvInteractiveAppCallback

```
TvInteractiveAppCallback()
```

## Public methods

### onBiInteractiveAppCreated

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

```
open fun onBiInteractiveAppCreated(
    iAppServiceId: String, 
    biIAppUri: Uri, 
    biIAppId: String?
): Unit
```

This is called when broadcast-independent (BI) interactive app is created.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `biIAppUri` | [Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#): URI associated this BI interactive app. This is the same URI in `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#createBiInteractiveApp(android.net.Uri,%20android.os.Bundle)` This value cannot be `null`. |
| `biIAppId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?: BI interactive app ID, which can be used to destroy the BI interactive app. `null` if it's not created successfully. |

**See Also**

- `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#createBiInteractiveApp(android.net.Uri,%20android.os.Bundle)`
- `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#destroyBiInteractiveApp(kotlin.String)`

### onPlaybackCommandRequest

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

```
open fun onPlaybackCommandRequest(
    iAppServiceId: String, 
    cmdType: String, 
    parameters: Bundle
): Unit
```

This is called when a playback command is requested to be processed by the related TV input.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `cmdType` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): type of the command. This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#PLAYBACK_COMMAND_TYPE_TUNE:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#PLAYBACK_COMMAND_TYPE_TUNE_NEXT:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#PLAYBACK_COMMAND_TYPE_TUNE_PREV:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#PLAYBACK_COMMAND_TYPE_STOP:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#PLAYBACK_COMMAND_TYPE_SET_STREAM_VOLUME:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#PLAYBACK_COMMAND_TYPE_SELECT_TRACK:kotlin.String` |
| `parameters` | [Bundle](https://developer.android.com/reference/kotlin/android/os/Bundle.html#): parameters of the command. This value cannot be `null`. |

### onRequestAvailableSpeeds

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

```
open fun onRequestAvailableSpeeds(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestAvailableSpeeds()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestCertificate

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

```
open fun onRequestCertificate(
    iAppServiceId: String, 
    host: String, 
    port: Int
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCertificate(kotlin.String,%20kotlin.Int)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `host` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The hostname of the SSL authentication server. This value cannot be `null`. |
| `port` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): The port of the SSL authentication server. |

### onRequestCurrentChannelLcn

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

```
open fun onRequestCurrentChannelLcn(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCurrentChannelLcn()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestCurrentChannelUri

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

```
open fun onRequestCurrentChannelUri(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCurrentChannelUri()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestCurrentTvInputId

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

```
open fun onRequestCurrentTvInputId(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCurrentTvInputId()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestCurrentVideoBounds

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

```
open fun onRequestCurrentVideoBounds(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestCurrentVideoBounds()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestScheduleRecording

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

```
open fun onRequestScheduleRecording(
    iAppServiceId: String, 
    requestId: String, 
    inputId: String, 
    channelUri: Uri, 
    programUri: Uri, 
    params: Bundle
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestScheduleRecording(kotlin.String,%20kotlin.String,%20android.net.Uri,%20android.net.Uri,%20android.os.Bundle)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `requestId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of this request which is used to match the corresponding response. The request ID in `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#notifyRecordingScheduled(kotlin.String,%20kotlin.String)` for this request is the same as the ID sent here. This should be defined by the TIAS and can be any string. Should this API be called with the same requestId twice, both requests should be handled regardless by the TV application. This value cannot be `null`. |
| `inputId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV input for the given channel. This value cannot be `null`. |
| `channelUri` | [Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#): The URI of a channel to be recorded. This value cannot be `null`. |
| `programUri` | [Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#): The URI of the TV program to be recorded. This value cannot be `null`. |
| `params` | [Bundle](https://developer.android.com/reference/kotlin/android/os/Bundle.html#): Domain-specific data for this tune request. Keys *must* be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting keys. This value cannot be `null`. |

**See Also**

- `https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingClient.html#tune(kotlin.String,%20android.net.Uri,%20android.os.Bundle)`
- `https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingClient.html#startRecording(android.net.Uri)`

### onRequestScheduleRecording

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

```
open fun onRequestScheduleRecording(
    iAppServiceId: String, 
    requestId: String, 
    inputId: String, 
    channelUri: Uri, 
    startTime: Long, 
    duration: Long, 
    repeatDays: Int, 
    params: Bundle
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestScheduleRecording(kotlin.String,%20kotlin.String,%20android.net.Uri,%20kotlin.Long,%20kotlin.Long,%20kotlin.Int,%20android.os.Bundle)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `requestId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of this request which is used to match the corresponding response. The request ID in `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#notifyRecordingScheduled(kotlin.String,%20kotlin.String)` for this request is the same as the ID sent here. This should be defined by the TIAS and can be any string. Should this API be called with the same requestId twice, both requests should be handled regardless by the TV application. This value cannot be `null`. |
| `inputId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV input for the given channel. This value cannot be `null`. |
| `channelUri` | [Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#): The URI of a channel to be recorded. This value cannot be `null`. |
| `startTime` | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html): The start time of the recording in milliseconds since epoch. |
| `duration` | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html): The duration of the recording in milliseconds. |
| `repeatDays` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): The repeated days. 0 if not repeated. |
| `params` | [Bundle](https://developer.android.com/reference/kotlin/android/os/Bundle.html#): Domain-specific data for this tune request. Keys *must* be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting keys. This value cannot be `null`. |

**See Also**

- `https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingClient.html#tune(kotlin.String,%20android.net.Uri,%20android.os.Bundle)`
- `https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingClient.html#startRecording(android.net.Uri)`

### onRequestSelectedTrackInfo

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

```
open fun onRequestSelectedTrackInfo(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestSelectedTrackInfo()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestSigning

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

```
open fun onRequestSigning(
    iAppServiceId: String, 
    signingId: String, 
    algorithm: String, 
    alias: String, 
    data: ByteArray
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestSigning(kotlin.String,%20kotlin.String,%20kotlin.String,%20kotlin.ByteArray)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `signingId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): the ID to identify the request. This value cannot be `null`. |
| `algorithm` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): the standard name of the signature algorithm requested, such as MD5withRSA, SHA256withDSA, etc. This value cannot be `null`. |
| `alias` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): the alias of the corresponding `https://developer.android.com/reference/kotlin/java/security/KeyStore.html#`. This value cannot be `null`. |
| `data` | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html): the original bytes to be signed. This value cannot be `null`. |

### onRequestSigning

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

```
open fun onRequestSigning(
    iAppServiceId: String, 
    signingId: String, 
    algorithm: String, 
    host: String, 
    port: Int, 
    data: ByteArray
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestSigning(kotlin.String,%20kotlin.String,%20kotlin.String,%20kotlin.Int,%20kotlin.ByteArray)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `signingId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): the ID to identify the request. This value cannot be `null`. |
| `algorithm` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): the standard name of the signature algorithm requested, such as MD5withRSA, SHA256withDSA, etc. This value cannot be `null`. |
| `host` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The hostname of the SSL authentication server. This value cannot be `null`. |
| `port` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): The port of the SSL authentication server. |
| `data` | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html): the original bytes to be signed. This value cannot be `null`. |

### onRequestStartRecording

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

```
open fun onRequestStartRecording(
    iAppServiceId: String, 
    requestId: String, 
    programUri: Uri?
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestStartRecording(kotlin.String,%20android.net.Uri)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `requestId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of this request which is used to match the corresponding response. The request ID in `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#notifyRecordingStarted(kotlin.String,%20kotlin.String)` for this request is the same as the ID sent here. This should be defined by the TIAS and can be any string. Should this API be called with the same requestId twice, both requests should be handled regardless by the TV application. This value cannot be `null`. |
| `programUri` | [Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#)?: The URI of the program to record. This value may be `null`. |

### onRequestStopRecording

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

```
open fun onRequestStopRecording(
    iAppServiceId: String, 
    recordingId: String
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestStopRecording(kotlin.String)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `recordingId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the recording to stop. This is provided by the TV app in `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#notifyRecordingStarted(kotlin.String,%20kotlin.String)` This value cannot be `null`. |

**See Also**

- `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#notifyRecordingStarted(kotlin.String,%20kotlin.String)`
- `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#notifyRecordingStopped(kotlin.String)`

### onRequestStreamVolume

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

```
open fun onRequestStreamVolume(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestStreamVolume()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestTimeShiftMode

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

```
open fun onRequestTimeShiftMode(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestTimeShiftMode()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestTrackInfoList

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

```
open fun onRequestTrackInfoList(iAppServiceId: String): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestTrackInfoList()` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |

### onRequestTvRecordingInfo

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

```
open fun onRequestTvRecordingInfo(
    iAppServiceId: String, 
    recordingId: String
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestTvRecordingInfo(kotlin.String)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `recordingId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the recording to get the info for. This is provided by the TV app in `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#notifyRecordingStarted(kotlin.String,%20kotlin.String)` This value cannot be `null`. |

### onRequestTvRecordingInfoList

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

```
open fun onRequestTvRecordingInfoList(
    iAppServiceId: String, 
    type: Int
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#requestTvRecordingInfoList(kotlin.Int)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `type` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): The type of recording requested to retrieve. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingInfo.html#RECORDING_SCHEDULED:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingInfo.html#RECORDING_IN_PROGRESS:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingInfo.html#RECORDING_ALL:kotlin.Int` |

### onSetTvRecordingInfo

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

```
open fun onSetTvRecordingInfo(
    iAppServiceId: String, 
    recordingId: String, 
    recordingInfo: TvRecordingInfo
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#setTvRecordingInfo(kotlin.String,%20android.media.tv.TvRecordingInfo)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `recordingId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the recording to set the info for. This is provided by the TV app in `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppView#notifyRecordingStarted(kotlin.String,%20kotlin.String)` This value cannot be `null`. |
| `recordingInfo` | [TvRecordingInfo](https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingInfo.html#): The `https://developer.android.com/reference/kotlin/android/media/tv/TvRecordingInfo.html#` to set to the recording. This value cannot be `null`. |

### onSetVideoBounds

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

```
open fun onSetVideoBounds(
    iAppServiceId: String, 
    rect: Rect
): Unit
```

This is called when `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService.Session#setVideoBounds(android.graphics.Rect)` is called.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `rect` | [Rect](https://developer.android.com/reference/kotlin/android/graphics/Rect.html#): the video bound. This value cannot be `null`. |

### onStateChanged

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

```
open fun onStateChanged(
    iAppServiceId: String, 
    state: Int, 
    err: Int
): Unit
```

This is called when the state of corresponding interactive app is changed.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `state` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the current state. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#INTERACTIVE_APP_STATE_STOPPED:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#INTERACTIVE_APP_STATE_RUNNING:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#INTERACTIVE_APP_STATE_ERROR:kotlin.Int` |
| `err` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): the error code for error state. `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_NONE:kotlin.Int` is used when the state is not `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#INTERACTIVE_APP_STATE_ERROR:kotlin.Int`. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_NONE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_UNKNOWN:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_NOT_SUPPORTED:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_WEAK_SIGNAL:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_RESOURCE_UNAVAILABLE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_BLOCKED:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_ENCRYPTED:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#ERROR_UNKNOWN_CHANNEL:kotlin.Int` |

### onTeletextAppStateChanged

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

```
open fun onTeletextAppStateChanged(
    iAppServiceId: String, 
    state: Int
): Unit
```

This is called when the digital teletext app state is changed.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `state` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): digital teletext app current state. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#TELETEXT_APP_STATE_SHOW:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#TELETEXT_APP_STATE_HIDE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager#TELETEXT_APP_STATE_ERROR:kotlin.Int` |

### onTimeShiftCommandRequest

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

```
open fun onTimeShiftCommandRequest(
    iAppServiceId: String, 
    cmdType: String, 
    parameters: Bundle
): Unit
```

This is called when a time shift command is requested to be processed by the related TV input.

| Parameters ||
|---|---|
| `iAppServiceId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): The ID of the TV interactive app service bound to this view. This value cannot be `null`. |
| `cmdType` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): type of the command. This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#TIME_SHIFT_COMMAND_TYPE_PLAY:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#TIME_SHIFT_COMMAND_TYPE_PAUSE:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#TIME_SHIFT_COMMAND_TYPE_RESUME:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#TIME_SHIFT_COMMAND_TYPE_SEEK_TO:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#TIME_SHIFT_COMMAND_TYPE_SET_PLAYBACK_PARAMS:kotlin.String` - `https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppService#TIME_SHIFT_COMMAND_TYPE_SET_MODE:kotlin.String` |
| `parameters` | [Bundle](https://developer.android.com/reference/kotlin/android/os/Bundle.html#): parameters of the command. This value cannot be `null`. |