Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit daaf8e7f authored by Dan Yu's avatar Dan Yu Committed by Android (Google) Code Review
Browse files

Merge "docs: Fixing MediaSession note in PIP preview docs" into mnc-io-docs

parents 9e9d2c7f 83b25f7c
Loading
Loading
Loading
Loading
+29 −7
Original line number Original line Diff line number Diff line
@@ -150,11 +150,20 @@ public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
Picture-in-picture</h2>
Picture-in-picture</h2>


<p>When your activity switches to PIP, the system considers the activity in a
<p>When your activity switches to PIP, the system considers the activity in a
paused state, and calls your activity's <code>onPause()</code> method. Video
paused state, and calls your activity's {@link android.app.Activity#onPause
playback should not be paused and should continue playing if the activity is
onPause()} method. Video playback should not be paused and should continue
paused due to PIP mode. Check for PIP in your activity's
playing if the activity is paused due to PIP mode.</p>
<code>onPause()</code> method and handle playback appropriately, for

example:</p>
<p>In Android N, you should pause and resume video playback when the system
calls your activity's {@link android.app.Activity#onStop onStop()} and
{@link android.app.Activity#onStart onStart()}. By doing this, you can avoid
having to check if your app is in PIP mode in
{@link android.app.Activity#onPause onPause()} and explicitly
continuing playback.</p>

<p>If you have to pause playback in your {@link android.app.Activity#onPause
onPause()} implementation, check for PIP mode by calling {@code
isInPictureInPictureMode()} and handle playback appropriately, for example:</p>


<pre>
<pre>
&#64;Override
&#64;Override
@@ -170,7 +179,8 @@ public void onPause() {
</pre>
</pre>


<p>When your activity switches out of PIP mode back to full-screen mode, the
<p>When your activity switches out of PIP mode back to full-screen mode, the
system resumes your activity and calls your <code>onResume()</code> method.</p>
system resumes your activity and calls your
{@link android.app.Activity#onResume onResume()} method.</p>


<h2 id="single_playback">Using a Single Playback Activity for
<h2 id="single_playback">Using a Single Playback Activity for
Picture-in-picture</h2>
Picture-in-picture</h2>
@@ -210,4 +220,16 @@ in any area that can be obscured by the PIP window.</p>


<p>When an activity is in PIP mode, by default it doesn't get input focus. To
<p>When an activity is in PIP mode, by default it doesn't get input focus. To
receive input events while in PIP mode, use
receive input events while in PIP mode, use
<code>MediaSession.setMediaButtonReceiver()</code>.</p>
{@link android.media.session.MediaSession#setCallback
MediaSession.setCallback()}. For more information on using
{@link android.media.session.MediaSession#setCallback setCallback()} see
<a href="{@docRoot}training/tv/playback/now-playing.html">Displaying
a Now Playing Card</a>.</p>

<p>When your app is in PIP mode, video playback in the PIP window can cause
audio interference with another app, such as a music player app or voice search
app. To avoid this, request audio focus when you start playing the video,
and handle audio focus change notifications, as described in
<a href="{@docRoot}training/managing-audio/audio-focus.html">Managing Audio
Focus</a>. If you receive notification of audio focus loss when in PIP mode,
pause or stop video playback.</p>