blob: d41f9c45425d7c0e825b17858f52a59b9c13f856 [file] [log] [blame]
<html devsite="true">
<head>
<title>FragmentHostCallback</title>
{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
</head>
<body>
<h1>FragmentHostCallback</h1>
{% setvar page_path %}androidx/fragment/app/FragmentHostCallback.html{% endsetvar %}
{% setvar can_switch %}1{% endsetvar %}
{% include "reference/_java_switcher2.md" %}
<p>
<pre>public abstract class FragmentHostCallback&lt;E&gt; extends <a href="/reference/androidx/fragment/app/FragmentContainer.html">FragmentContainer</a></pre>
</p>
<div class="devsite-table-wrapper">
<table class="jd-inheritance-table">
<tbody>
<tr>
<td colspan="3"><a href="https://developer.android.com/reference/java/lang/Object.html">Object</a></td>
</tr>
<tr>
<td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;↳</td>
<td colspan="2"><a href="/reference/androidx/fragment/app/FragmentContainer.html">FragmentContainer</a></td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;↳</td>
<td colspan="1"><a href="/reference/androidx/fragment/app/FragmentHostCallback.html">FragmentHostCallback</a></td>
</tr>
</tbody>
</table>
</div>
<hr>
<p>Integration points with the Fragment host. </p>
<p>Fragments may be hosted by any object; such as an Activity. In order to host fragments, implement <code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html">FragmentHostCallback</a></code>, overriding the methods applicable to the host. </p>
<p>FragmentManager changes its behavior based on what optional interfaces your FragmentHostCallback implements. This includes the following: </p>
<ul>
<li><b>ActivityResultRegistryOwner</b>: Removes the need to override <code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onStartIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle)">onStartIntentSenderFromFragment</a></code> or <code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onRequestPermissionsFromFragment(androidx.fragment.app.Fragment,java.lang.String[],int)">onRequestPermissionsFromFragment</a></code>.</li>
<li><b><code><a href="/reference/androidx/fragment/app/FragmentOnAttachListener.html">FragmentOnAttachListener</a></code></b>: Removes the need to manually call <code><a href="/reference/androidx/fragment/app/FragmentManager.html#addFragmentOnAttachListener(androidx.fragment.app.FragmentOnAttachListener)">FragmentManager#addFragmentOnAttachListener</a></code> from your host in order to receive <code><a href="/reference/androidx/fragment/app/FragmentOnAttachListener.html#onAttachFragment(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment)">FragmentOnAttachListener#onAttachFragment</a></code> callbacks for the <code><a href="/reference/androidx/fragment/app/FragmentController.html#getSupportFragmentManager()">FragmentController#getSupportFragmentManager()</a></code>.</li>
<li><b>androidx.activity.OnBackPressedDispatcherOwner</b>: Removes the need to manually call <code><a href="/reference/androidx/fragment/app/FragmentManager.html#popBackStackImmediate()">FragmentManager#popBackStackImmediate()</a></code> when handling the system back button.</li>
<li><b>androidx.lifecycle.ViewModelStoreOwner</b>: Removes the need for your <code><a href="/reference/androidx/fragment/app/FragmentController.html">FragmentController</a></code> to call <code><a href="/reference/androidx/fragment/app/FragmentController.html#retainNestedNonConfig()">FragmentController#retainNestedNonConfig()</a></code> or <code><a href="/reference/androidx/fragment/app/FragmentController.html#restoreAllState(android.os.Parcelable,androidx.fragment.app.FragmentManagerNonConfig)">FragmentController#restoreAllState(Parcelable, FragmentManagerNonConfig)</a></code>.</li>
</ul>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="2">Parameters</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>&lt;E&gt;</code></td>
<td width="100%">
<p>the type of object that's currently hosting the fragments. An instance of this class must be returned by <code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onGetHost()">onGetHost</a></code>.</p>
</td>
</tr>
</tbody>
</table>
</div>
<h2>Summary</h2>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="2"><h3>Public constructors</h3></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#FragmentHostCallback(android.content.Context,android.os.Handler,int)">FragmentHostCallback</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;Context&nbsp;context,<br>&nbsp;&nbsp;&nbsp;&nbsp;Handler&nbsp;handler,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;windowAnimations<br>)</code></div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="2"><h3>Public methods</h3></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>void</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onDump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])">onDump</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&nbsp;prefix,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://developer.android.com/reference/java/io/FileDescriptor.html">FileDescriptor</a>&nbsp;fd,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://developer.android.com/reference/java/io/PrintWriter.html">PrintWriter</a>&nbsp;writer,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&gt;&nbsp;args<br>)</code></div>
<p>Print internal state into the given stream.</p>
</td>
</tr>
<tr>
<td><code>@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a>&nbsp;View</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onFindViewById(int)">onFindViewById</a>(int&nbsp;id)</code></div>
<p>Return the view with the given resource ID.</p>
</td>
</tr>
<tr>
<td><code>abstract @<a href="/reference/androidx/annotation/Nullable.html">Nullable</a>&nbsp;E</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onGetHost()">onGetHost</a>()</code></div>
<p>Return the object that's currently hosting the fragment.</p>
</td>
</tr>
<tr>
<td><code>@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a>&nbsp;LayoutInflater</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onGetLayoutInflater()">onGetLayoutInflater</a>()</code></div>
<p>Return a LayoutInflater.</p>
</td>
</tr>
<tr>
<td><code>int</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onGetWindowAnimations()">onGetWindowAnimations</a>()</code></div>
<p>Return the window animations.</p>
</td>
</tr>
<tr>
<td><code>boolean</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onHasView()">onHasView</a>()</code></div>
<p>Return <code>{@code true}</code> if the container holds any view.</p>
</td>
</tr>
<tr>
<td><code>boolean</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onHasWindowAnimations()">onHasWindowAnimations</a>()</code></div>
<p>Return <code>{@code true}</code> if there are window animations.</p>
</td>
</tr>
<tr>
<td><code>void</code></td>
<td width="100%">
<div><code><span><del><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onRequestPermissionsFromFragment(androidx.fragment.app.Fragment,java.lang.String[],int)">onRequestPermissionsFromFragment</a></del></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&gt;&nbsp;permissions,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;requestCode<br>)</code></div>
<p><strong>This method is deprecated.</strong>
<p>Have your FragmentHostCallback implement ActivityResultRegistryOwner to allow Fragments to use <code><a href="/reference/androidx/fragment/app/Fragment.html#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract&lt;I,O&gt;,androidx.activity.result.ActivityResultCallback&lt;O&gt;)">Fragment#registerForActivityResult(ActivityResultContract, ActivityResultCallback)</a></code> with RequestMultiplePermissions.</p>
</p>
</td>
</tr>
<tr>
<td><code>boolean</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onShouldSaveFragmentState(androidx.fragment.app.Fragment)">onShouldSaveFragmentState</a>(<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment)</code></div>
<p>Return <code>{@code true}</code> if the fragment's state needs to be saved.</p>
</td>
</tr>
<tr>
<td><code>boolean</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onShouldShowRequestPermissionRationale(java.lang.String)">onShouldShowRequestPermissionRationale</a>(<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&nbsp;permission)</code></div>
<p>Checks whether to show permission rationale UI from a fragment.</p>
</td>
</tr>
<tr>
<td><code>void</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onStartActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int)">onStartActivityFromFragment</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment,<br>&nbsp;&nbsp;&nbsp;&nbsp;Intent&nbsp;intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;requestCode<br>)</code></div>
<p>Starts a new Activity from the given fragment.</p>
</td>
</tr>
<tr>
<td><code>void</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onStartActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle)">onStartActivityFromFragment</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment,<br>&nbsp;&nbsp;&nbsp;&nbsp;Intent&nbsp;intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;requestCode,<br>&nbsp;&nbsp;&nbsp;&nbsp;Bundle&nbsp;options<br>)</code></div>
<p>Starts a new Activity from the given fragment.</p>
</td>
</tr>
<tr>
<td><code>void</code></td>
<td width="100%">
<div><code><span><del><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onStartIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle)">onStartIntentSenderFromFragment</a></del></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment,<br>&nbsp;&nbsp;&nbsp;&nbsp;IntentSender&nbsp;intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;requestCode,<br>&nbsp;&nbsp;&nbsp;&nbsp;Intent&nbsp;fillInIntent,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;flagsMask,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;flagsValues,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;extraFlags,<br>&nbsp;&nbsp;&nbsp;&nbsp;Bundle&nbsp;options<br>)</code></div>
<p><strong>This method is deprecated.</strong>
<p>Have your FragmentHostCallback implement ActivityResultRegistryOwner to allow Fragments to use <code><a href="/reference/androidx/fragment/app/Fragment.html#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract&lt;I,O&gt;,androidx.activity.result.ActivityResultCallback&lt;O&gt;)">Fragment#registerForActivityResult(ActivityResultContract, ActivityResultCallback)</a></code> with StartIntentSenderForResult.</p>
</p>
</td>
</tr>
<tr>
<td><code>void</code></td>
<td width="100%">
<div><code><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onSupportInvalidateOptionsMenu()">onSupportInvalidateOptionsMenu</a>()</code></div>
<p>Invalidates the activity's options menu.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="devsite-table-wrapper">
<table class="responsive" id="inhmethods">
<thead>
<tr>
<th colspan="2"><h3>Inherited methods</h3></th>
</tr>
</thead>
<tbody>
<tr>
<td><devsite-expandable><span class="expand-control">From class <a href="/reference/androidx/fragment/app/FragmentContainer.html">FragmentContainer</a></span>
<div class="devsite-table-wrapper">
<table class="responsive">
<tbody>
<tr>
<td><code>@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a>&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a></code></td>
<td width="100%">
<div><code><span><del><a href="/reference/androidx/fragment/app/FragmentContainer.html#instantiate(android.content.Context,java.lang.String,android.os.Bundle)">instantiate</a></del></span>(Context&nbsp;context,&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&nbsp;className,&nbsp;Bundle&nbsp;arguments)</code></div>
<p><strong>This method is deprecated.</strong>
<p>Use <code><a href="/reference/androidx/fragment/app/FragmentManager.html#setFragmentFactory(androidx.fragment.app.FragmentFactory)">FragmentManager#setFragmentFactory</a></code> to control how Fragments are instantiated.</p>
</p>
</td>
</tr>
</tbody>
</table>
</div>
</devsite-expandable> </td>
</tr>
</tbody>
</table>
</div>
<h2>Public constructors</h2>
<div><a name="FragmentHostCallback(android.content.Context, android.os.Handler, int)"></a><a name="FragmentHostCallback-android.content.Context-android.os.Handler-int-"></a>
<h3 class="api-name" id="FragmentHostCallback(android.content.Context,android.os.Handler,int)">FragmentHostCallback</h3>
<pre class="api-signature no-pretty-print">public&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#FragmentHostCallback(android.content.Context,android.os.Handler,int)">FragmentHostCallback</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;Context&nbsp;context,<br>&nbsp;&nbsp;&nbsp;&nbsp;Handler&nbsp;handler,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;windowAnimations<br>)</pre>
</div>
<h2>Public methods</h2>
<div><a name="onDump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])"></a><a name="onDump-java.lang.String-java.io.FileDescriptor-java.io.PrintWriter-java.lang.String[]-"></a>
<h3 class="api-name" id="onDump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])">onDump</h3>
<pre class="api-signature no-pretty-print">public&nbsp;void&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onDump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])">onDump</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&nbsp;prefix,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://developer.android.com/reference/java/io/FileDescriptor.html">FileDescriptor</a>&nbsp;fd,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://developer.android.com/reference/java/io/PrintWriter.html">PrintWriter</a>&nbsp;writer,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&gt;&nbsp;args<br>)</pre>
<p>Print internal state into the given stream.</p>
<div class="devsite-table-wrapper">
<table class="responsive">
<thead>
<tr>
<th colspan="2">Parameters</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><a href="https://developer.android.com/reference/java/lang/String.html">String</a>&nbsp;prefix</code></td>
<td width="100%">
<p>Desired prefix to prepend at each line of output.</p>
</td>
</tr>
<tr>
<td><code><a href="https://developer.android.com/reference/java/io/FileDescriptor.html">FileDescriptor</a>&nbsp;fd</code></td>
<td width="100%">
<p>The raw file descriptor that the dump is being sent to.</p>
</td>
</tr>
<tr>
<td><code><a href="https://developer.android.com/reference/java/io/PrintWriter.html">PrintWriter</a>&nbsp;writer</code></td>
<td width="100%">
<p>The PrintWriter to which you should dump your state. This will be closed for you after you return.</p>
</td>
</tr>
<tr>
<td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&gt;&nbsp;args</code></td>
<td width="100%">
<p>additional arguments to the dump request.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div><a name="onFindViewById-int-"></a>
<h3 class="api-name" id="onFindViewById(int)">onFindViewById</h3>
<pre class="api-signature no-pretty-print">@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a><br>public&nbsp;@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a>&nbsp;View&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onFindViewById(int)">onFindViewById</a>(int&nbsp;id)</pre>
<p>Return the view with the given resource ID. May return <code>{@code null}</code> if the view is not a child of this container.</p>
</div>
<div><a name="onGetHost--"></a>
<h3 class="api-name" id="onGetHost()">onGetHost</h3>
<pre class="api-signature no-pretty-print">@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a><br>public&nbsp;abstract&nbsp;@<a href="/reference/androidx/annotation/Nullable.html">Nullable</a>&nbsp;E&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onGetHost()">onGetHost</a>()</pre>
<p>Return the object that's currently hosting the fragment. If a <code><a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a></code> is hosted by a <code><a href="/reference/androidx/fragment/app/FragmentActivity.html">FragmentActivity</a></code>, the object returned here should be the same object returned from <code><a href="/reference/androidx/fragment/app/Fragment.html#getActivity()">Fragment#getActivity()</a></code>.</p>
</div>
<div><a name="onGetLayoutInflater--"></a>
<h3 class="api-name" id="onGetLayoutInflater()">onGetLayoutInflater</h3>
<pre class="api-signature no-pretty-print">@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a><br>public&nbsp;@<a href="/reference/androidx/annotation/NonNull.html">NonNull</a>&nbsp;LayoutInflater&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onGetLayoutInflater()">onGetLayoutInflater</a>()</pre>
<p>Return a LayoutInflater. See Activity#getLayoutInflater().</p>
</div>
<div><a name="onGetWindowAnimations--"></a>
<h3 class="api-name" id="onGetWindowAnimations()">onGetWindowAnimations</h3>
<pre class="api-signature no-pretty-print">public&nbsp;int&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onGetWindowAnimations()">onGetWindowAnimations</a>()</pre>
<p>Return the window animations.</p>
</div>
<div><a name="onHasView--"></a>
<h3 class="api-name" id="onHasView()">onHasView</h3>
<pre class="api-signature no-pretty-print">public&nbsp;boolean&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onHasView()">onHasView</a>()</pre>
<p>Return <code>{@code true}</code> if the container holds any view.</p>
</div>
<div><a name="onHasWindowAnimations--"></a>
<h3 class="api-name" id="onHasWindowAnimations()">onHasWindowAnimations</h3>
<pre class="api-signature no-pretty-print">public&nbsp;boolean&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onHasWindowAnimations()">onHasWindowAnimations</a>()</pre>
<p>Return <code>{@code true}</code> if there are window animations.</p>
</div>
<div><a name="onRequestPermissionsFromFragment(androidx.fragment.app.Fragment, java.lang.String[], int)"></a><a name="onRequestPermissionsFromFragment-androidx.fragment.app.Fragment-java.lang.String[]-int-"></a>
<h3 class="api-name" id="onRequestPermissionsFromFragment(androidx.fragment.app.Fragment,java.lang.String[],int)">onRequestPermissionsFromFragment</h3>
<pre class="api-signature no-pretty-print">public&nbsp;void&nbsp;<span><del><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onRequestPermissionsFromFragment(androidx.fragment.app.Fragment,java.lang.String[],int)">onRequestPermissionsFromFragment</a></del></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment,<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&gt;&nbsp;permissions,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;requestCode<br>)</pre>
<aside class="caution"><strong>This method is deprecated.</strong><br>
<p>Have your FragmentHostCallback implement ActivityResultRegistryOwner to allow Fragments to use <code><a href="/reference/androidx/fragment/app/Fragment.html#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract&lt;I,O&gt;,androidx.activity.result.ActivityResultCallback&lt;O&gt;)">Fragment#registerForActivityResult(ActivityResultContract, ActivityResultCallback)</a></code> with RequestMultiplePermissions. This method will still be called when Fragments call the deprecated <code>requestPermissions()</code> method.</p>
</aside>
<p>Requests permissions from the given fragment. See FragmentActivity#requestPermissions(String[], int)</p>
</div>
<div><a name="onShouldSaveFragmentState-androidx.fragment.app.Fragment-"></a>
<h3 class="api-name" id="onShouldSaveFragmentState(androidx.fragment.app.Fragment)">onShouldSaveFragmentState</h3>
<pre class="api-signature no-pretty-print">public&nbsp;boolean&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onShouldSaveFragmentState(androidx.fragment.app.Fragment)">onShouldSaveFragmentState</a>(<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment)</pre>
<p>Return <code>{@code true}</code> if the fragment's state needs to be saved.</p>
</div>
<div><a name="onShouldShowRequestPermissionRationale-java.lang.String-"></a>
<h3 class="api-name" id="onShouldShowRequestPermissionRationale(java.lang.String)">onShouldShowRequestPermissionRationale</h3>
<pre class="api-signature no-pretty-print">public&nbsp;boolean&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onShouldShowRequestPermissionRationale(java.lang.String)">onShouldShowRequestPermissionRationale</a>(<a href="https://developer.android.com/reference/java/lang/String.html">String</a>&nbsp;permission)</pre>
<p>Checks whether to show permission rationale UI from a fragment. See FragmentActivity#shouldShowRequestPermissionRationale(String)</p>
</div>
<div><a name="onStartActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int)"></a><a name="onStartActivityFromFragment-androidx.fragment.app.Fragment-android.content.Intent-int-"></a>
<h3 class="api-name" id="onStartActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int)">onStartActivityFromFragment</h3>
<pre class="api-signature no-pretty-print">public&nbsp;void&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onStartActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int)">onStartActivityFromFragment</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment,<br>&nbsp;&nbsp;&nbsp;&nbsp;Intent&nbsp;intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;requestCode<br>)</pre>
<p>Starts a new Activity from the given fragment. See FragmentActivity#startActivityForResult(Intent, int).</p>
</div>
<div><a name="onStartActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int, android.os.Bundle)"></a><a name="onStartActivityFromFragment-androidx.fragment.app.Fragment-android.content.Intent-int-android.os.Bundle-"></a>
<h3 class="api-name" id="onStartActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle)">onStartActivityFromFragment</h3>
<pre class="api-signature no-pretty-print">public&nbsp;void&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onStartActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle)">onStartActivityFromFragment</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment,<br>&nbsp;&nbsp;&nbsp;&nbsp;Intent&nbsp;intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;requestCode,<br>&nbsp;&nbsp;&nbsp;&nbsp;Bundle&nbsp;options<br>)</pre>
<p>Starts a new Activity from the given fragment. See FragmentActivity#startActivityForResult(Intent, int, Bundle).</p>
</div>
<div><a name="onStartIntentSenderFromFragment(androidx.fragment.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)"></a><a name="onStartIntentSenderFromFragment-androidx.fragment.app.Fragment-android.content.IntentSender-int-android.content.Intent-int-int-int-android.os.Bundle-"></a>
<h3 class="api-name" id="onStartIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle)">onStartIntentSenderFromFragment</h3>
<pre class="api-signature no-pretty-print">public&nbsp;void&nbsp;<span><del><a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onStartIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle)">onStartIntentSenderFromFragment</a></del></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/reference/androidx/fragment/app/Fragment.html">Fragment</a>&nbsp;fragment,<br>&nbsp;&nbsp;&nbsp;&nbsp;IntentSender&nbsp;intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;requestCode,<br>&nbsp;&nbsp;&nbsp;&nbsp;Intent&nbsp;fillInIntent,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;flagsMask,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;flagsValues,<br>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;extraFlags,<br>&nbsp;&nbsp;&nbsp;&nbsp;Bundle&nbsp;options<br>)</pre>
<aside class="caution"><strong>This method is deprecated.</strong><br>
<p>Have your FragmentHostCallback implement ActivityResultRegistryOwner to allow Fragments to use <code><a href="/reference/androidx/fragment/app/Fragment.html#registerForActivityResult(androidx.activity.result.contract.ActivityResultContract&lt;I,O&gt;,androidx.activity.result.ActivityResultCallback&lt;O&gt;)">Fragment#registerForActivityResult(ActivityResultContract, ActivityResultCallback)</a></code> with StartIntentSenderForResult. This method will still be called when Fragments call the deprecated <code>startIntentSenderForResult()</code> method.</p>
</aside>
<p>Starts a new IntentSender from the given fragment. See Activity#startIntentSender(IntentSender, Intent, int, int, int, Bundle).</p>
</div>
<div><a name="onSupportInvalidateOptionsMenu--"></a>
<h3 class="api-name" id="onSupportInvalidateOptionsMenu()">onSupportInvalidateOptionsMenu</h3>
<pre class="api-signature no-pretty-print">public&nbsp;void&nbsp;<a href="/reference/androidx/fragment/app/FragmentHostCallback.html#onSupportInvalidateOptionsMenu()">onSupportInvalidateOptionsMenu</a>()</pre>
<p>Invalidates the activity's options menu. See <code><a href="/reference/androidx/fragment/app/FragmentActivity.html#supportInvalidateOptionsMenu()">FragmentActivity#supportInvalidateOptionsMenu()</a></code></p>
</div>
</body>
</html>