Most visited

Recently visited

Added in API level 21

TvInputManager

public final class TvInputManager
extends Object

java.lang.Object
   ↳ android.media.tv.TvInputManager


整个电视输入框架(TIF)架构的中央系统API,用于仲裁应用程序和所选电视输入之间的交互。 您可以使用Context.getSystemService(Context.TV_INPUT_SERVICE)检索此接口的实例。

电视输入框架(TIF)架构涉及三个主要参与方:

Summary

Nested classes

class TvInputManager.TvInputCallback

回叫用于监视电视输入的状态。

Constants

String ACTION_BLOCKED_RATINGS_CHANGED

当用户阻止内容分级更改时广播意图操作。

String ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED

父母控制启用状态更改时的广播意图操作。

String ACTION_QUERY_CONTENT_RATING_SYSTEMS

广播意图操作用于查询可用的内容评级系统。

String ACTION_SETUP_INPUTS

用于设置通道源的活动动作,例如类型 TYPE_TUNER电视输入。

int INPUT_STATE_CONNECTED

状态为 getInputState(String)onInputStateChanged(String, int) :输入源已连接。

int INPUT_STATE_CONNECTED_STANDBY

状态为 getInputState(String)onInputStateChanged(String, int) :输入源已连接,但处于待机模式。

int INPUT_STATE_DISCONNECTED

状态为 getInputState(String)onInputStateChanged(String, int) :输入源断开。

String META_DATA_CONTENT_RATING_SYSTEMS

内容分级系统元数据与 ACTION_QUERY_CONTENT_RATING_SYSTEMS相关联。

int RECORDING_ERROR_INSUFFICIENT_SPACE

notifyError(int)onError(int)错误:由于存储空间不足,无法继续录制。

int RECORDING_ERROR_RESOURCE_BUSY

notifyError(int)onError(int)错误:录制无法继续,因为无法分配所需的录制资源。

int RECORDING_ERROR_UNKNOWN

notifyError(int)onError(int)错误:请求的操作无法完成,原因是某个问题不适用于任何其他错误代码,或者该问题的错误代码是在高于应用程序 android:targetSdkVersion版本上定义的。

long TIME_SHIFT_INVALID_TIME

当时移尚未开始时,由 onTimeShiftGetCurrentPosition()onTimeShiftGetStartPosition()返回的值。

int TIME_SHIFT_STATUS_AVAILABLE

notifyTimeShiftStatusChanged(int)onTimeShiftStatusChanged(String, int)状态:时间平移当前可用。

int TIME_SHIFT_STATUS_UNAVAILABLE

notifyTimeShiftStatusChanged(int)onTimeShiftStatusChanged(String, int)状态:时间平移当前不可用,但可能稍后再次运行。

int TIME_SHIFT_STATUS_UNKNOWN

状态为 notifyTimeShiftStatusChanged(int)onTimeShiftStatusChanged(String, int) :未知状态。

int TIME_SHIFT_STATUS_UNSUPPORTED

notifyTimeShiftStatusChanged(int)onTimeShiftStatusChanged(String, int)状态:当前电视输入不支持时移。

int VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:视频不可用,因为当前的电视节目是纯音频。

int VIDEO_UNAVAILABLE_REASON_BUFFERING

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:视频不可用,因为相应的电视输入暂时停止播放以缓冲更多数据。

int VIDEO_UNAVAILABLE_REASON_TUNING

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:视频不可用,因为相应的电视输入正在调谐到新频道。

int VIDEO_UNAVAILABLE_REASON_UNKNOWN

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:由于未指定的错误,视频不可用。

int VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:视频因电视信号弱而不可用。

Public methods

int getInputState(String inputId)

返回给定电视输入的状态。

TvInputInfo getTvInputInfo(String inputId)

针对给定的电视输入返回 TvInputInfo

List<TvInputInfo> getTvInputList()

返回系统上电视输入的完整列表。

boolean isParentalControlsEnabled()

返回用户的家长控制启用状态。

boolean isRatingBlocked(TvContentRating rating)

检查给定的电视内容分级是否被用户阻止。

void registerCallback(TvInputManager.TvInputCallback callback, Handler handler)

注册一个 TvInputManager.TvInputCallback

void unregisterCallback(TvInputManager.TvInputCallback callback)

取消注册现有的 TvInputManager.TvInputCallback

void updateTvInputInfo(TvInputInfo inputInfo)

更新现有电视输入的 TvInputInfo

Inherited methods

From class java.lang.Object

Constants

ACTION_BLOCKED_RATINGS_CHANGED

Added in API level 21
String ACTION_BLOCKED_RATINGS_CHANGED

当用户阻止内容分级更改时广播意图操作。 用于isRatingBlocked(TvContentRating)

常量值:“android.media.tv.action.BLOCKED_RATINGS_CHANGED”

ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED

Added in API level 21
String ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED

父母控制启用状态更改时的广播意图操作。 用于isParentalControlsEnabled()

常量值:“android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED”

ACTION_QUERY_CONTENT_RATING_SYSTEMS

Added in API level 21
String ACTION_QUERY_CONTENT_RATING_SYSTEMS

广播意图操作用于查询可用的内容评级系统。

电视输入管理器服务通过查询为此动作注册的广播接收器来定位可用内容分级系统。 应用程序可以通过在其清单中声明合适的广播接收器来向用户提供额外的内容评级系统。

以下是广播接收器声明的一个示例,应用程序可能在其AndroidManifest.xml文件中包含广告来宣传自定义内容分级系统。 元数据指定一个资源,该资源包含应用程序提供的每个内容评级系统的描述。

 <receiver android:name=".TvInputReceiver">
     <intent-filter>
         <action android:name=
                 "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS" />
     </intent-filter>
     <meta-data
             android:name="android.media.tv.metadata.CONTENT_RATING_SYSTEMS"
             android:resource="@xml/tv_content_rating_systems" />
 </receiver>

在上面的示例中, @xml/tv_content_rating_systems资源引用其根元素为<rating-system-definitions>的XML资源,其中包含零个或多个<rating-system-definition>元素。 每个<rating-system-definition>元素都指定特定内容评级系统的评级,子评级和评级顺序。

也可以看看:

常量值:“android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS”

ACTION_SETUP_INPUTS

Added in API level 24
String ACTION_SETUP_INPUTS

用于设置通道源的活动动作, TYPE_TUNER类型的电视输入。 当被调用时,系统将显示适当的用户界面,以启动每个电视输入服务setupActivity提供的单独设置流程。

常量值:“android.media.tv.action.SETUP_INPUTS”

INPUT_STATE_CONNECTED

Added in API level 21
int INPUT_STATE_CONNECTED

状态为 getInputState(String)onInputStateChanged(String, int) :输入源已连接。

此状态表示源设备连接到输入端口并处于正常操作模式。 它主要与HDMI输入等硬件输入相关。 这是任何其状态未知的硬件输入的默认状态。 非硬件输入始终处于连接状态。

常量值:0(0x00000000)

INPUT_STATE_CONNECTED_STANDBY

Added in API level 21
int INPUT_STATE_CONNECTED_STANDBY

状态为 getInputState(String)onInputStateChanged(String, int) :输入源已连接,但处于待机模式。

此状态表示源设备连接到输入端口,但处于待机模式。 它主要与HDMI输入等硬件输入相关。

常数值:1(0x00000001)

INPUT_STATE_DISCONNECTED

Added in API level 21
int INPUT_STATE_DISCONNECTED

状态为 getInputState(String)onInputStateChanged(String, int) :输入源断开。

此状态表示源设备与输入端口断开连接。 它主要与HDMI输入等硬件输入相关。

常量值:2(0x00000002)

META_DATA_CONTENT_RATING_SYSTEMS

Added in API level 21
String META_DATA_CONTENT_RATING_SYSTEMS

内容分级系统元数据与 ACTION_QUERY_CONTENT_RATING_SYSTEMS相关联。

指定描述应用程序提供的内容分级系统的XML资源的资源ID。

常量值:“android.media.tv.metadata.CONTENT_RATING_SYSTEMS”

RECORDING_ERROR_INSUFFICIENT_SPACE

Added in API level 24
int RECORDING_ERROR_INSUFFICIENT_SPACE

notifyError(int)onError(int)错误:由于存储空间不足,无法继续录制。

常数值:1(0x00000001)

RECORDING_ERROR_RESOURCE_BUSY

Added in API level 24
int RECORDING_ERROR_RESOURCE_BUSY

notifyError(int)onError(int)错误:录制无法继续,因为无法分配所需的录制资源。

常量值:2(0x00000002)

RECORDING_ERROR_UNKNOWN

Added in API level 24
int RECORDING_ERROR_UNKNOWN

notifyError(int)onError(int)错误:由于不符合任何其他错误代码的问题而无法完成请求的操作,或者在高于应用程序的 android:targetSdkVersion版本上定义了问题的错误代码。

常量值:0(0x00000000)

TIME_SHIFT_INVALID_TIME

Added in API level 23
long TIME_SHIFT_INVALID_TIME

当时移尚未开始时,由 onTimeShiftGetCurrentPosition()onTimeShiftGetStartPosition()返回的值。

常量值:-9223372036854775808(0x8000000000000000)

TIME_SHIFT_STATUS_AVAILABLE

Added in API level 23
int TIME_SHIFT_STATUS_AVAILABLE

状态为notifyTimeShiftStatusChanged(int)onTimeShiftStatusChanged(String, int) :时间转换目前可用。 在此状态下,应用程序假定它可以暂停/恢复播放,寻找指定的时间位置并设置播放速率和音频模式。

常量值:3(0x00000003)

TIME_SHIFT_STATUS_UNAVAILABLE

Added in API level 23
int TIME_SHIFT_STATUS_UNAVAILABLE

notifyTimeShiftStatusChanged(int)onTimeShiftStatusChanged(String, int)状态:时间平移当前不可用,但可能稍后再次运行。

常量值:2(0x00000002)

TIME_SHIFT_STATUS_UNKNOWN

Added in API level 23
int TIME_SHIFT_STATUS_UNKNOWN

状态为notifyTimeShiftStatusChanged(int)onTimeShiftStatusChanged(String, int) :未知状态。 也是致电notifyTimeShiftStatusChanged之前的状态。

常量值:0(0x00000000)

TIME_SHIFT_STATUS_UNSUPPORTED

Added in API level 23
int TIME_SHIFT_STATUS_UNSUPPORTED

notifyTimeShiftStatusChanged(int)onTimeShiftStatusChanged(String, int)状态:当前电视输入不支持时移。

常数值:1(0x00000001)

VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY

Added in API level 23
int VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:视频不可用,因为当前的电视节目是纯音频。

常量值:4(0x00000004)

VIDEO_UNAVAILABLE_REASON_BUFFERING

Added in API level 21
int VIDEO_UNAVAILABLE_REASON_BUFFERING

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:视频不可用,因为相应的电视输入暂时停止播放以缓冲更多数据。

常量值:3(0x00000003)

VIDEO_UNAVAILABLE_REASON_TUNING

Added in API level 21
int VIDEO_UNAVAILABLE_REASON_TUNING

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:视频不可用,因为相应的电视输入正在调谐到新频道。

常数值:1(0x00000001)

VIDEO_UNAVAILABLE_REASON_UNKNOWN

Added in API level 21
int VIDEO_UNAVAILABLE_REASON_UNKNOWN

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:由于未指定的错误,视频不可用。

常量值:0(0x00000000)

VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL

Added in API level 21
int VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL

notifyVideoUnavailable(int)onVideoUnavailable(String, int)原因:视频因电视信号微弱而不可用。

常量值:2(0x00000002)

Public methods

getInputState

Added in API level 21
int getInputState (String inputId)

返回给定电视输入的状态。

该州是以下之一:

Parameters
inputId String: The ID of the TV input.
Returns
int
Throws
IllegalArgumentException if the argument is null.

getTvInputInfo

Added in API level 21
TvInputInfo getTvInputInfo (String inputId)

针对给定的电视输入返回 TvInputInfo

Parameters
inputId String: The ID of the TV input.
Returns
TvInputInfo the TvInputInfo for a given TV input. null if not found.

getTvInputList

Added in API level 21
List<TvInputInfo> getTvInputList ()

返回系统上电视输入的完整列表。

Returns
List<TvInputInfo> List of TvInputInfo for each TV input that describes its meta information.

isParentalControlsEnabled

Added in API level 21
boolean isParentalControlsEnabled ()

返回用户的家长控制启用状态。

Returns
boolean true if the user enabled the parental controls, false otherwise.

isRatingBlocked

Added in API level 21
boolean isRatingBlocked (TvContentRating rating)

检查给定的电视内容分级是否被用户阻止。

Parameters
rating TvContentRating: The TV content rating to check. Can be UNRATED.
Returns
boolean true if the given TV content rating is blocked, false otherwise.

registerCallback

Added in API level 21
void registerCallback (TvInputManager.TvInputCallback callback, 
                Handler handler)

注册一个 TvInputManager.TvInputCallback

Parameters
callback TvInputManager.TvInputCallback: A callback used to monitor status of the TV inputs.
handler Handler: A Handler that the status change will be delivered to.

unregisterCallback

Added in API level 21
void unregisterCallback (TvInputManager.TvInputCallback callback)

取消注册现有的 TvInputManager.TvInputCallback

Parameters
callback TvInputManager.TvInputCallback: The existing callback to remove.

updateTvInputInfo

Added in API level 24
void updateTvInputInfo (TvInputInfo inputInfo)

更新现有电视输入的TvInputInfo 电视输入设备服务的实现可以调用此方法通过应用程序和系统向上最新TvInputInfo对象描述本身。

系统根据从AndroidManifest.xml收集的信息自动为每个电视输入创建一个TvInputInfo对象,因此不必调用此方法,除非此类信息已动态更改。 使用TvInputInfo.Builder构建新的TvInputInfo对象。

试图改变关于调用软件包不拥有的电视输入的信息不做任何事情。

Parameters
inputInfo TvInputInfo: The TvInputInfo object that contains new information.
Throws
IllegalArgumentException if the argument is null.

也可以看看:

Hooray!