diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs index 9e156d0821d3b..b5ecf5cf6a471 100644 --- a/docs/html/training/training_toc.cs +++ b/docs/html/training/training_toc.cs @@ -1098,6 +1098,10 @@ ja-lang="再生中カードを表示する"> Displaying a Now Playing Card +
+A user watching content on a TV device may decide to switch to the TV launcher at any time. +If a user switches to the launcher while using a TV playback app, by default the app is paused. +Since the user did not explicitly request to pause playback, the default behavior might seem +abrupt and unexpected. This lesson describes how to enable background playback in your app, +which provides a better user experience. +
+ +Normally, when the user clicks on Home to display the TV +launcher, the activity pauses. However, your app can request background playback, in +which the activity continues playing behind the TV launcher.
+ +To request background playback, call
+{@link android.app.Activity#requestVisibleBehind requestVisibleBehind()}.
+Be sure to clean up media resources if the activity stops being
+visible. For example, you should free media resources if
+{@link android.app.Activity#requestVisibleBehind requestVisibleBehind()}
+returns false to indicate that the request failed, or if the system calls
+your override of {@link android.app.Activity#onVisibleBehindCanceled onVisibleBehindCanceled()}.
+
+@Override +public void onPause() { + super.onPause(); + if (mVideoView.isPlaying()) { + // Argument equals true to notify the system that the activity + // wishes to be visible behind other translucent activities + if (! requestVisibleBehind(true)) { + // App-specific method to stop playback and release resources + // because call to requestVisibleBehind(true) failed + stopPlayback(); + } + } else { + // Argument equals false because the activity is not playing + requestVisibleBehind(false); + } +} + +@Override +public void onVisibleBehindCanceled() { + // App-specific method to stop playback and release resources + stopPlayback(); + super.onVisibleBehindCanceled(); +} ++