# TvInteractiveAppManager

Added in[API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Nested Classes](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#nestedclasses)\|[Constants](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#constants)\|[Methods](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#inhmethods)  

# TvInteractiveAppManager

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/media/tv/interactive/TvInteractiveAppManager "View this page in Kotlin")\|Java

`
public

final

class
TvInteractiveAppManager
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.media.tv.interactive.TvInteractiveAppManager |

<br />

*** ** * ** ***

Central system API to the overall TV interactive application framework (TIAF) architecture, which arbitrates interaction between Android applications and TV interactive apps.

## Summary

|                                                                                                               ### Nested classes                                                                                                               ||
|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [TvInteractiveAppManager.TvInteractiveAppCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager.TvInteractiveAppCallback) Callback used to monitor status of the TV Interactive App. |

|                                                                                                                                              ### Constants                                                                                                                                               ||
|--------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | [ACTION_APP_LINK_COMMAND](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ACTION_APP_LINK_COMMAND) Broadcast intent action to send app command to TV app.                               |
| [String](https://developer.android.com/reference/java/lang/String) | [APP_LINK_KEY_BACK_URI](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#APP_LINK_KEY_BACK_URI) Key for back URI in app link command.                                                    |
| [String](https://developer.android.com/reference/java/lang/String) | [APP_LINK_KEY_CLASS_NAME](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#APP_LINK_KEY_CLASS_NAME) Key for class name in app link.                                                      |
| [String](https://developer.android.com/reference/java/lang/String) | [APP_LINK_KEY_COMMAND_TYPE](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#APP_LINK_KEY_COMMAND_TYPE) Key for command type in app link command.                                        |
| [String](https://developer.android.com/reference/java/lang/String) | [APP_LINK_KEY_PACKAGE_NAME](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#APP_LINK_KEY_PACKAGE_NAME) Key for package name in app link.                                                |
| [String](https://developer.android.com/reference/java/lang/String) | [APP_LINK_KEY_SERVICE_ID](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#APP_LINK_KEY_SERVICE_ID) Key for service ID in app link command.                                              |
| `int`                                                              | [ERROR_BLOCKED](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ERROR_BLOCKED) Error code for blocked contents.                                                                         |
| `int`                                                              | [ERROR_ENCRYPTED](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ERROR_ENCRYPTED) Error code when the key or module is missing for the encrypted channel.                              |
| `int`                                                              | [ERROR_NONE](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ERROR_NONE) No error.                                                                                                      |
| `int`                                                              | [ERROR_NOT_SUPPORTED](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ERROR_NOT_SUPPORTED) Error code for an unsupported channel.                                                       |
| `int`                                                              | [ERROR_RESOURCE_UNAVAILABLE](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ERROR_RESOURCE_UNAVAILABLE) Error code when resource (e.g. tuner) is unavailable.                          |
| `int`                                                              | [ERROR_UNKNOWN](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ERROR_UNKNOWN) Unknown error code.                                                                                      |
| `int`                                                              | [ERROR_UNKNOWN_CHANNEL](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ERROR_UNKNOWN_CHANNEL) Error code when the current channel is an unknown channel.                               |
| `int`                                                              | [ERROR_WEAK_SIGNAL](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ERROR_WEAK_SIGNAL) Error code for weak signal.                                                                      |
| [String](https://developer.android.com/reference/java/lang/String) | [INTENT_KEY_BI_INTERACTIVE_APP_TYPE](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTENT_KEY_BI_INTERACTIVE_APP_TYPE) Intent key for broadcast-independent(BI) interactive app type. |
| [String](https://developer.android.com/reference/java/lang/String) | [INTENT_KEY_BI_INTERACTIVE_APP_URI](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTENT_KEY_BI_INTERACTIVE_APP_URI) Intent key for broadcast-independent(BI) interactive app URI.    |
| [String](https://developer.android.com/reference/java/lang/String) | [INTENT_KEY_CHANNEL_URI](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTENT_KEY_CHANNEL_URI) Intent key for TV channel URI.                                                         |
| [String](https://developer.android.com/reference/java/lang/String) | [INTENT_KEY_COMMAND_TYPE](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTENT_KEY_COMMAND_TYPE) Intent key for command type.                                                         |
| [String](https://developer.android.com/reference/java/lang/String) | [INTENT_KEY_INTERACTIVE_APP_SERVICE_ID](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTENT_KEY_INTERACTIVE_APP_SERVICE_ID) Intent key for TV interactive app ID.                    |
| [String](https://developer.android.com/reference/java/lang/String) | [INTENT_KEY_TV_INPUT_ID](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTENT_KEY_TV_INPUT_ID) Intent key for TV input ID.                                                            |
| `int`                                                              | [INTERACTIVE_APP_STATE_ERROR](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTERACTIVE_APP_STATE_ERROR) Error state of interactive application.                                      |
| `int`                                                              | [INTERACTIVE_APP_STATE_RUNNING](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTERACTIVE_APP_STATE_RUNNING) Running state of interactive application.                                |
| `int`                                                              | [INTERACTIVE_APP_STATE_STOPPED](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#INTERACTIVE_APP_STATE_STOPPED) Stopped (or not started) state of interactive application.               |
| `int`                                                              | [SERVICE_STATE_ERROR](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#SERVICE_STATE_ERROR) Error state of interactive app service.                                                      |
| `int`                                                              | [SERVICE_STATE_PREPARING](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#SERVICE_STATE_PREPARING) Preparing state of interactive app service.                                          |
| `int`                                                              | [SERVICE_STATE_READY](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#SERVICE_STATE_READY) Ready state of interactive app service.                                                      |
| `int`                                                              | [SERVICE_STATE_UNREALIZED](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#SERVICE_STATE_UNREALIZED) Unrealized state of interactive app service.                                       |
| `int`                                                              | [TELETEXT_APP_STATE_ERROR](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#TELETEXT_APP_STATE_ERROR) State of Teletext app: error                                                       |
| `int`                                                              | [TELETEXT_APP_STATE_HIDE](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#TELETEXT_APP_STATE_HIDE) State of Teletext app: hide                                                          |
| `int`                                                              | [TELETEXT_APP_STATE_SHOW](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#TELETEXT_APP_STATE_SHOW) State of Teletext app: show                                                          |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                                                                 ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[List](https://developer.android.com/reference/java/util/List)`<`[AppLinkInfo](https://developer.android.com/reference/android/media/tv/interactive/AppLinkInfo)`>`                                 | ` `[getAppLinkInfoList](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#getAppLinkInfoList())`() ` Returns a list of available app link information.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ` `[List](https://developer.android.com/reference/java/util/List)`<`[TvInteractiveAppServiceInfo](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppServiceInfo)`>` | ` `[getTvInteractiveAppServiceList](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#getTvInteractiveAppServiceList())`() ` Returns the complete list of TV Interactive App service on the system.                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ` void`                                                                                                                                                                                                | ` `[registerAppLinkInfo](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#registerAppLinkInfo(java.lang.String,%20android.media.tv.interactive.AppLinkInfo))`(`[String](https://developer.android.com/reference/java/lang/String)` tvIAppServiceId, `[AppLinkInfo](https://developer.android.com/reference/android/media/tv/interactive/AppLinkInfo)` appLinkInfo) ` Registers an Android application link info record which can be used to launch the specific Android application by TV interactive App RTE.                                                                                                                                                |
| ` void`                                                                                                                                                                                                | ` `[registerCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#registerCallback(java.util.concurrent.Executor,%20android.media.tv.interactive.TvInteractiveAppManager.TvInteractiveAppCallback))`(`[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)` executor, `[TvInteractiveAppManager.TvInteractiveAppCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager.TvInteractiveAppCallback)` callback) ` Registers a[TvInteractiveAppCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager.TvInteractiveAppCallback). |
| ` void`                                                                                                                                                                                                | ` `[sendAppLinkCommand](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))`(`[String](https://developer.android.com/reference/java/lang/String)` tvIAppServiceId, `[Bundle](https://developer.android.com/reference/android/os/Bundle)` command) ` Sends app link command.                                                                                                                                                                                                                                                                                                                           |
| ` void`                                                                                                                                                                                                | ` `[unregisterAppLinkInfo](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#unregisterAppLinkInfo(java.lang.String,%20android.media.tv.interactive.AppLinkInfo))`(`[String](https://developer.android.com/reference/java/lang/String)` tvIAppServiceId, `[AppLinkInfo](https://developer.android.com/reference/android/media/tv/interactive/AppLinkInfo)` appLinkInfo) ` Unregisters an Android application link info record which can be used to launch the specific Android application by TV interactive App RTE.                                                                                                                                          |
| ` void`                                                                                                                                                                                                | ` `[unregisterCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#unregisterCallback(android.media.tv.interactive.TvInteractiveAppManager.TvInteractiveAppCallback))`(`[TvInteractiveAppManager.TvInteractiveAppCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager.TvInteractiveAppCallback)` callback) ` Unregisters the existing[TvInteractiveAppCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager.TvInteractiveAppCallback).                                                                                                               |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Constants

### ACTION_APP_LINK_COMMAND

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

```
public static final String ACTION_APP_LINK_COMMAND
```

Broadcast intent action to send app command to TV app.

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))

Constant Value: "android.media.tv.interactive.action.APP_LINK_COMMAND"  

### APP_LINK_KEY_BACK_URI

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

```
public static final String APP_LINK_KEY_BACK_URI
```

Key for back URI in app link command.

Type: String

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))

Constant Value: "back_uri"  

### APP_LINK_KEY_CLASS_NAME

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

```
public static final String APP_LINK_KEY_CLASS_NAME
```

Key for class name in app link.

Type: String

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))

Constant Value: "class_name"  

### APP_LINK_KEY_COMMAND_TYPE

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

```
public static final String APP_LINK_KEY_COMMAND_TYPE
```

Key for command type in app link command.

Type: String

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))

Constant Value: "command_type"  

### APP_LINK_KEY_PACKAGE_NAME

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

```
public static final String APP_LINK_KEY_PACKAGE_NAME
```

Key for package name in app link.

Type: String

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))

Constant Value: "package_name"  

### APP_LINK_KEY_SERVICE_ID

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

```
public static final String APP_LINK_KEY_SERVICE_ID
```

Key for service ID in app link command.

Type: String

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))

Constant Value: "service_id"  

### ERROR_BLOCKED

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

```
public static final int ERROR_BLOCKED
```

Error code for blocked contents.

<br />

Constant Value: 5 (0x00000005)  

### ERROR_ENCRYPTED

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

```
public static final int ERROR_ENCRYPTED
```

Error code when the key or module is missing for the encrypted channel.

<br />

Constant Value: 6 (0x00000006)  

### ERROR_NONE

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

```
public static final int ERROR_NONE
```

No error.

<br />

Constant Value: 0 (0x00000000)  

### ERROR_NOT_SUPPORTED

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

```
public static final int ERROR_NOT_SUPPORTED
```

Error code for an unsupported channel.

<br />

Constant Value: 2 (0x00000002)  

### ERROR_RESOURCE_UNAVAILABLE

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

```
public static final int ERROR_RESOURCE_UNAVAILABLE
```

Error code when resource (e.g. tuner) is unavailable.

<br />

Constant Value: 4 (0x00000004)  

### ERROR_UNKNOWN

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

```
public static final int ERROR_UNKNOWN
```

Unknown error code.

<br />

Constant Value: 1 (0x00000001)  

### ERROR_UNKNOWN_CHANNEL

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

```
public static final int ERROR_UNKNOWN_CHANNEL
```

Error code when the current channel is an unknown channel.

<br />

Constant Value: 7 (0x00000007)  

### ERROR_WEAK_SIGNAL

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

```
public static final int ERROR_WEAK_SIGNAL
```

Error code for weak signal.

<br />

Constant Value: 3 (0x00000003)  

### INTENT_KEY_BI_INTERACTIVE_APP_TYPE

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

```
public static final String INTENT_KEY_BI_INTERACTIVE_APP_TYPE
```

Intent key for broadcast-independent(BI) interactive app type. It's used to send app command to TV app.

Type: int

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))
- [ACTION_APP_LINK_COMMAND](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ACTION_APP_LINK_COMMAND)
- [TvInteractiveAppServiceInfo.getSupportedTypes()](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppServiceInfo#getSupportedTypes())
- [TvInteractiveAppView.createBiInteractiveApp(Uri, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppView#createBiInteractiveApp(android.net.Uri,%20android.os.Bundle))

Constant Value: "bi_interactive_app_type"  

### INTENT_KEY_BI_INTERACTIVE_APP_URI

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

```
public static final String INTENT_KEY_BI_INTERACTIVE_APP_URI
```

Intent key for broadcast-independent(BI) interactive app URI. It's used to send app command to TV app.

Type: android.net.Uri

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))
- [ACTION_APP_LINK_COMMAND](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ACTION_APP_LINK_COMMAND)
- [TvInteractiveAppView.createBiInteractiveApp(Uri, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppView#createBiInteractiveApp(android.net.Uri,%20android.os.Bundle))

Constant Value: "bi_interactive_app_uri"  

### INTENT_KEY_CHANNEL_URI

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

```
public static final String INTENT_KEY_CHANNEL_URI
```

Intent key for TV channel URI. It's used to send app command to TV app.

Type: android.net.Uri

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))
- [ACTION_APP_LINK_COMMAND](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ACTION_APP_LINK_COMMAND)

Constant Value: "channel_uri"  

### INTENT_KEY_COMMAND_TYPE

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

```
public static final String INTENT_KEY_COMMAND_TYPE
```

Intent key for command type. It's used to send app command to TV app. The value of this key could vary according to TV apps.

Type: String

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))
- [ACTION_APP_LINK_COMMAND](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ACTION_APP_LINK_COMMAND)

Constant Value: "command_type"  

### INTENT_KEY_INTERACTIVE_APP_SERVICE_ID

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

```
public static final String INTENT_KEY_INTERACTIVE_APP_SERVICE_ID
```

Intent key for TV interactive app ID. It's used to send app command to TV app.

Type: String

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))
- [ACTION_APP_LINK_COMMAND](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ACTION_APP_LINK_COMMAND)
- [TvInteractiveAppServiceInfo.getId()](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppServiceInfo#getId())

Constant Value: "interactive_app_id"  

### INTENT_KEY_TV_INPUT_ID

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

```
public static final String INTENT_KEY_TV_INPUT_ID
```

Intent key for TV input ID. It's used to send app command to TV app.

Type: String

<br />

**See also:**

- [sendAppLinkCommand(String, Bundle)](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#sendAppLinkCommand(java.lang.String,%20android.os.Bundle))
- [ACTION_APP_LINK_COMMAND](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager#ACTION_APP_LINK_COMMAND)

Constant Value: "tv_input_id"  

### INTERACTIVE_APP_STATE_ERROR

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

```
public static final int INTERACTIVE_APP_STATE_ERROR
```

Error state of interactive application.

<br />

Constant Value: 3 (0x00000003)  

### INTERACTIVE_APP_STATE_RUNNING

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

```
public static final int INTERACTIVE_APP_STATE_RUNNING
```

Running state of interactive application.

<br />

Constant Value: 2 (0x00000002)  

### INTERACTIVE_APP_STATE_STOPPED

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

```
public static final int INTERACTIVE_APP_STATE_STOPPED
```

Stopped (or not started) state of interactive application.

<br />

Constant Value: 1 (0x00000001)  

### SERVICE_STATE_ERROR

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

```
public static final int SERVICE_STATE_ERROR
```

Error state of interactive app service.

<br />

Constant Value: 4 (0x00000004)  

### SERVICE_STATE_PREPARING

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

```
public static final int SERVICE_STATE_PREPARING
```

Preparing state of interactive app service.

<br />

Constant Value: 2 (0x00000002)  

### SERVICE_STATE_READY

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

```
public static final int SERVICE_STATE_READY
```

Ready state of interactive app service.

In this state, the interactive app service is ready, and interactive apps can be started.

<br />

**See also:**

- [TvInteractiveAppView.startInteractiveApp()](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppView#startInteractiveApp())

Constant Value: 3 (0x00000003)  

### SERVICE_STATE_UNREALIZED

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

```
public static final int SERVICE_STATE_UNREALIZED
```

Unrealized state of interactive app service.

<br />

Constant Value: 1 (0x00000001)  

### TELETEXT_APP_STATE_ERROR

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

```
public static final int TELETEXT_APP_STATE_ERROR
```

State of Teletext app: error

<br />

Constant Value: 3 (0x00000003)  

### TELETEXT_APP_STATE_HIDE

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

```
public static final int TELETEXT_APP_STATE_HIDE
```

State of Teletext app: hide

<br />

Constant Value: 2 (0x00000002)  

### TELETEXT_APP_STATE_SHOW

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

```
public static final int TELETEXT_APP_STATE_SHOW
```

State of Teletext app: show

<br />

Constant Value: 1 (0x00000001)

## Public methods

### getAppLinkInfoList

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

```
public List<AppLinkInfo> getAppLinkInfoList ()
```

Returns a list of available app link information.

A package must declare its app link info in its manifest using meta-data tag, so the info can be detected by the system.

<br />

|                                                                                                                                                                                Returns                                                                                                                                                                                 ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [List](https://developer.android.com/reference/java/util/List)`<`[AppLinkInfo](https://developer.android.com/reference/android/media/tv/interactive/AppLinkInfo)`>` | List of[AppLinkInfo](https://developer.android.com/reference/android/media/tv/interactive/AppLinkInfo)for each package that deslares its app link information. This value cannot be`null`. <br /> |

### getTvInteractiveAppServiceList

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

```
public List<TvInteractiveAppServiceInfo> getTvInteractiveAppServiceList ()
```

Returns the complete list of TV Interactive App service on the system.

<br />

|                                                                                                                                                                                                                        Returns                                                                                                                                                                                                                         ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [List](https://developer.android.com/reference/java/util/List)`<`[TvInteractiveAppServiceInfo](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppServiceInfo)`>` | List of[TvInteractiveAppServiceInfo](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppServiceInfo)for each TV Interactive App service that describes its meta information. This value cannot be`null`. <br /> |

### registerAppLinkInfo

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

```
public void registerAppLinkInfo (String tvIAppServiceId, 
                AppLinkInfo appLinkInfo)
```

Registers an Android application link info record which can be used to launch the specific Android application by TV interactive App RTE.

<br />

|                                                                                                                                                Parameters                                                                                                                                                ||
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `tvIAppServiceId` | `String`: The ID of TV interactive service which the command to be sent to. The ID can be found in[TvInteractiveAppServiceInfo.getId()](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppServiceInfo#getId()). This value cannot be`null`. <br /> |
| `appLinkInfo`     | `AppLinkInfo`: The Android application link info record to be registered. This value cannot be`null`. <br />                                                                                                                                                                          |

### registerCallback

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

```
public void registerCallback (Executor executor, 
                TvInteractiveAppManager.TvInteractiveAppCallback callback)
```

Registers a[TvInteractiveAppCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager.TvInteractiveAppCallback).

<br />

|                                                                                                                                                                                                                                                                                                                                                               Parameters                                                                                                                                                                                                                                                                                                                                                               ||
|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `executor` | `Executor`: A[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)that the status change will be delivered to. Callback and listener events are dispatched through this[Executor](https://developer.android.com/reference/java/util/concurrent/Executor), providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use[Context.getMainExecutor()](https://developer.android.com/reference/android/content/Context#getMainExecutor()). Otherwise, provide an[Executor](https://developer.android.com/reference/java/util/concurrent/Executor)that dispatches to an appropriate thread. This value cannot be`null`. <br /> |
| `callback` | `TvInteractiveAppManager.TvInteractiveAppCallback`: A callback used to monitor status of the TV Interactive App services. This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

### sendAppLinkCommand

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

```
public void sendAppLinkCommand (String tvIAppServiceId, 
                Bundle command)
```

Sends app link command.

<br />

|                                                                                                                                                Parameters                                                                                                                                                ||
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `tvIAppServiceId` | `String`: The ID of TV interactive service which the command to be sent to. The ID can be found in[TvInteractiveAppServiceInfo.getId()](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppServiceInfo#getId()). This value cannot be`null`. <br /> |
| `command`         | `Bundle`: The command to be sent. This value cannot be`null`. <br />                                                                                                                                                                                                                  |

### unregisterAppLinkInfo

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

```
public void unregisterAppLinkInfo (String tvIAppServiceId, 
                AppLinkInfo appLinkInfo)
```

Unregisters an Android application link info record which can be used to launch the specific Android application by TV interactive App RTE.

<br />

|                                                                                                                                                Parameters                                                                                                                                                ||
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `tvIAppServiceId` | `String`: The ID of TV interactive service which the command to be sent to. The ID can be found in[TvInteractiveAppServiceInfo.getId()](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppServiceInfo#getId()). This value cannot be`null`. <br /> |
| `appLinkInfo`     | `AppLinkInfo`: The Android application link info record to be unregistered. This value cannot be`null`. <br />                                                                                                                                                                        |

### unregisterCallback

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

```
public void unregisterCallback (TvInteractiveAppManager.TvInteractiveAppCallback callback)
```

Unregisters the existing[TvInteractiveAppCallback](https://developer.android.com/reference/android/media/tv/interactive/TvInteractiveAppManager.TvInteractiveAppCallback).

<br />

|                                                             Parameters                                                              ||
|------------|-------------------------------------------------------------------------------------------------------------------------|
| `callback` | `TvInteractiveAppManager.TvInteractiveAppCallback`: The existing callback to remove. This value cannot be`null`. <br /> |