# Print output for @column tags ?>
public
final
class
TvInputManager
extends Object
java.lang.Object | |
↳ | android.media.tv.TvInputManager |
Central system API to the overall TV input framework (TIF) architecture, which arbitrates interaction between applications and the selected TV inputs.
There are three primary parties involved in the TV input framework (TIF) architecture:
TvInputService
represents an input source
of TV, which can be a pass-through input such as HDMI, or a tuner input which provides broadcast
TV programs. The system binds to the TV input per application’s request.
on implementing TV inputs.
TvView
or
TvRecordingClient
for further interaction such as watching and recording broadcast TV
programs.
Nested classes | |
---|---|
class |
TvInputManager.TvInputCallback
Callback used to monitor status of the TV inputs. |
Public methods | |
---|---|
List<TvContentRating>
|
getBlockedRatings()
Returns the list of blocked content ratings. |
int
|
getInputState(String inputId)
Returns the state of a given TV input. |
TvInputInfo
|
getTvInputInfo(String inputId)
Returns the |
List<TvInputInfo>
|
getTvInputList()
Returns the complete list of TV inputs on the system. |
boolean
|
isParentalControlsEnabled()
Returns the user's parental controls enabled state. |
boolean
|
isRatingBlocked(TvContentRating rating)
Checks whether a given TV content rating is blocked by the user. |
void
|
registerCallback(TvInputManager.TvInputCallback callback, Handler handler)
Registers a |
void
|
unregisterCallback(TvInputManager.TvInputCallback callback)
Unregisters the existing |
void
|
updateTvInputInfo(TvInputInfo inputInfo)
Updates the |
Inherited methods | |
---|---|
public static final String ACTION_BLOCKED_RATINGS_CHANGED
Broadcast intent action when the user blocked content ratings change. For use with the
isRatingBlocked(TvContentRating)
.
Constant Value: "android.media.tv.action.BLOCKED_RATINGS_CHANGED"
public static final String ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
Broadcast intent action when the parental controls enabled state changes. For use with the
isParentalControlsEnabled()
.
Constant Value: "android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED"
public static final String ACTION_QUERY_CONTENT_RATING_SYSTEMS
Broadcast intent action used to query available content rating systems.
The TV input manager service locates available content rating systems by querying broadcast receivers that are registered for this action. An application can offer additional content rating systems to the user by declaring a suitable broadcast receiver in its manifest.
Here is an example broadcast receiver declaration that an application might include in its AndroidManifest.xml to advertise custom content rating systems. The meta-data specifies a resource that contains a description of each content rating system that is provided by the application.
<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>
In the above example, the @xml/tv_content_rating_systems
resource refers to an
XML resource whose root element is <rating-system-definitions>
that
contains zero or more <rating-system-definition>
elements. Each
<rating-system-definition>
element specifies the ratings, sub-ratings and rating
orders of a particular content rating system.
See also:
Constant Value: "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS"
public static final String ACTION_SETUP_INPUTS
Activity action to set up channel sources i.e. TV inputs of type
TvInputInfo#TYPE_TUNER
. When invoked, the system will display an appropriate UI for
the user to initiate the individual setup flow provided by
R.attr.setupActivity
of each TV input service.
Constant Value: "android.media.tv.action.SETUP_INPUTS"
public static final String ACTION_VIEW_RECORDING_SCHEDULES
Activity action to display the recording schedules. When invoked, the system will display an appropriate UI to browse the schedules.
Constant Value: "android.media.tv.action.VIEW_RECORDING_SCHEDULES"
public static final int INPUT_STATE_CONNECTED
State for getInputState(java.lang.String)
and
TvInputCallback#onInputStateChanged(String, int)
: The input source is connected.
This state indicates that a source device is connected to the input port and is in the normal operation mode. It is mostly relevant to hardware inputs such as HDMI input. Non-hardware inputs are considered connected all the time.
Constant Value: 0 (0x00000000)
public static final int INPUT_STATE_CONNECTED_STANDBY
State for getInputState(java.lang.String)
and
TvInputCallback#onInputStateChanged(String, int)
: The input source is connected but
in standby mode.
This state indicates that a source device is connected to the input port but is in standby or low power mode. It is mostly relevant to hardware inputs such as HDMI input and Component inputs.
Constant Value: 1 (0x00000001)
public static final int INPUT_STATE_DISCONNECTED
State for getInputState(java.lang.String)
and
TvInputCallback#onInputStateChanged(String, int)
: The input source is disconnected.
This state indicates that a source device is disconnected from the input port. It is mostly relevant to hardware inputs such as HDMI input.
Constant Value: 2 (0x00000002)
public static final String META_DATA_CONTENT_RATING_SYSTEMS
Content rating systems metadata associated with ACTION_QUERY_CONTENT_RATING_SYSTEMS
.
Specifies the resource ID of an XML resource that describes the content rating systems that are provided by the application.
Constant Value: "android.media.tv.metadata.CONTENT_RATING_SYSTEMS"
public static final int RECORDING_ERROR_INSUFFICIENT_SPACE
Error for TvInputService.RecordingSession#notifyError(int)
and
TvRecordingClient.RecordingCallback#onError(int)
: Recording cannot proceed due to
insufficient storage space.
Constant Value: 1 (0x00000001)
public static final int RECORDING_ERROR_RESOURCE_BUSY
Error for TvInputService.RecordingSession#notifyError(int)
and
TvRecordingClient.RecordingCallback#onError(int)
: Recording cannot proceed because
a required recording resource was not able to be allocated.
Constant Value: 2 (0x00000002)
public static final int RECORDING_ERROR_UNKNOWN
Error for TvInputService.RecordingSession#notifyError(int)
and
TvRecordingClient.RecordingCallback#onError(int)
: The requested operation cannot be
completed due to a problem that does not fit under any other error codes, or the error code
for the problem is defined on the higher version than application's
android:targetSdkVersion
.
Constant Value: 0 (0x00000000)
public static final long TIME_SHIFT_INVALID_TIME
Value returned by TvInputService.Session#onTimeShiftGetCurrentPosition()
and
TvInputService.Session#onTimeShiftGetStartPosition()
when time shifting has not
yet started.
Constant Value: -9223372036854775808 (0x8000000000000000)
public static final int TIME_SHIFT_STATUS_AVAILABLE
Status for TvInputService.Session#notifyTimeShiftStatusChanged(int)
and
TvView.TvInputCallback#onTimeShiftStatusChanged(String, int)
: Time shifting is
currently available. In this status, the application assumes it can pause/resume playback,
seek to a specified time position and set playback rate and audio mode.
Constant Value: 3 (0x00000003)
public static final int TIME_SHIFT_STATUS_UNAVAILABLE
Status for TvInputService.Session#notifyTimeShiftStatusChanged(int)
and
TvView.TvInputCallback#onTimeShiftStatusChanged(String, int)
: Time shifting is
currently unavailable but might work again later.
Constant Value: 2 (0x00000002)
public static final int TIME_SHIFT_STATUS_UNKNOWN
Status for TvInputService.Session#notifyTimeShiftStatusChanged(int)
and
TvView.TvInputCallback#onTimeShiftStatusChanged(String, int)
: Unknown status. Also
the status prior to calling notifyTimeShiftStatusChanged
.
Constant Value: 0 (0x00000000)
public static final int TIME_SHIFT_STATUS_UNSUPPORTED
Status for TvInputService.Session#notifyTimeShiftStatusChanged(int)
and
TvView.TvInputCallback#onTimeShiftStatusChanged(String, int)
: The current TV input
does not support time shifting.
Constant Value: 1 (0x00000001)
public static final int VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the current TV program is audio-only.
Constant Value: 4 (0x00000004)
public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the corresponding TV input has stopped playback temporarily to buffer more data.
Constant Value: 3 (0x00000003)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
of a geographical blackout.
Constant Value: 16 (0x00000010)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
smart card is invalid.
Constant Value: 15 (0x0000000f)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
smart card is muted.
Constant Value: 14 (0x0000000e)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the output protection level enabled on the device is not sufficient to meet the requirements
in the license policy.
Constant Value: 7 (0x00000007)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
Using a license in whhich the keys have expired.
Constant Value: 10 (0x0000000a)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the device need be activated.
Constant Value: 11 (0x0000000b)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the device need be paired.
Constant Value: 12 (0x0000000c)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
smart card is missed.
Constant Value: 13 (0x0000000d)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the PVR record is not allowed by the license policy.
Constant Value: 8 (0x00000008)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
CAS system is rebooting.
Constant Value: 17 (0x00000011)
public static final int VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
of unknown CAS error.
Constant Value: 18 (0x00000012)
public static final int VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the resource is not enough to meet requirement.
Constant Value: 6 (0x00000006)
public static final int VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the source is not physically connected, for example the HDMI cable is not connected.
Constant Value: 5 (0x00000005)
public static final int VIDEO_UNAVAILABLE_REASON_TUNING
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable because
the corresponding TV input is in the middle of tuning to a new channel.
Constant Value: 1 (0x00000001)
public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable due to
an unspecified error.
Constant Value: 0 (0x00000000)
public static final int VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL
Reason for TvInputService.Session#notifyVideoUnavailable(int)
and
TvView.TvInputCallback#onVideoUnavailable(String, int)
: Video is unavailable due to
weak TV signal.
Constant Value: 2 (0x00000002)
public List<TvContentRating> getBlockedRatings ()
Returns the list of blocked content ratings.
Returns | |
---|---|
List<TvContentRating> |
the list of content ratings blocked by the user. |
public int getInputState (String inputId)
Returns the state of a given TV input.
The state is one of the following:
Parameters | |
---|---|
inputId |
String : The ID of the TV input.
This value cannot be null . |
Returns | |
---|---|
int |
Value is INPUT_STATE_CONNECTED , INPUT_STATE_CONNECTED_STANDBY , or INPUT_STATE_DISCONNECTED |
Throws | |
---|---|
IllegalArgumentException |
if the argument is null . |
public TvInputInfo getTvInputInfo (String inputId)
Returns the TvInputInfo
for a given TV input.
Parameters | |
---|---|
inputId |
String : The ID of the TV input.
This value cannot be null . |
Returns | |
---|---|
TvInputInfo |
the TvInputInfo for a given TV input. null if not found. |
public List<TvInputInfo> getTvInputList ()
Returns the complete list of TV inputs on the system.
Returns | |
---|---|
List<TvInputInfo> |
List of TvInputInfo for each TV input that describes its meta information. |
public boolean isParentalControlsEnabled ()
Returns the user's parental controls enabled state.
Returns | |
---|---|
boolean |
true if the user enabled the parental controls, false otherwise. |
public boolean isRatingBlocked (TvContentRating rating)
Checks whether a given TV content rating is blocked by the user.
Parameters | |
---|---|
rating |
TvContentRating : The TV content rating to check. Can be TvContentRating#UNRATED .
This value cannot be null . |
Returns | |
---|---|
boolean |
true if the given TV content rating is blocked, false otherwise. |
public void registerCallback (TvInputManager.TvInputCallback callback, Handler handler)
Registers a TvInputCallback
.
Parameters | |
---|---|
callback |
TvInputManager.TvInputCallback : A callback used to monitor status of the TV inputs.
This value cannot be null . |
handler |
Handler : A Handler that the status change will be delivered to.
This value cannot be null . |
public void unregisterCallback (TvInputManager.TvInputCallback callback)
Unregisters the existing TvInputCallback
.
Parameters | |
---|---|
callback |
TvInputManager.TvInputCallback : The existing callback to remove.
This value cannot be null . |
public void updateTvInputInfo (TvInputInfo inputInfo)
Updates the TvInputInfo
for an existing TV input. A TV input service
implementation may call this method to pass the application and system an up-to-date
TvInputInfo
object that describes itself.
The system automatically creates a TvInputInfo
object for each TV input,
based on the information collected from the AndroidManifest.xml
, thus it is not
necessary to call this method unless such information has changed dynamically.
Use TvInputInfo.Builder
to build a new TvInputInfo
object.
Attempting to change information about a TV input that the calling package does not own does nothing.
Parameters | |
---|---|
inputInfo |
TvInputInfo : The TvInputInfo object that contains new information.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the argument is null . |