<html devsite="true">
  <head>
    <title>FragmentActivity</title>
{% setvar book_path %}/reference/kotlin/androidx/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
  </head>
  <body>
    <h1>FragmentActivity</h1>
{% setvar page_path %}androidx/fragment/app/FragmentActivity.html{% endsetvar %}
{% setvar can_switch %}1{% endsetvar %}
{% include "reference/_kotlin_switcher2.md" %}
    <p>
      <pre>class FragmentActivity</pre>
    </p>
    <hr>
    <p>Base class for activities that want to use the support-based <code><a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragments</a></code>. </p>
    <p>Known limitations:</p>
    <ul>
      <li>
        <p>When using the <code>&lt;fragment&gt;</code> tag, this implementation can not use the parent view's ID as the new fragment's ID. You must explicitly specify an ID (or tag) in the <code>&lt;fragment&gt;</code>.</p>
      </li>
    </ul>
    <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/kotlin/androidx/fragment/app/FragmentActivity.html#FragmentActivity()">FragmentActivity</a>()</code></div>
              <p>Default constructor for FragmentActivity.</p>
            </td>
          </tr>
          <tr>
            <td>
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#FragmentActivity(int)">FragmentActivity</a>(contentLayoutId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>)</code></div>
              <p>Alternate constructor that can be used to provide a default layout that will be inflated as part of <code>super.onCreate(savedInstanceState)</code>.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <thead>
          <tr>
            <th colspan="2"><h3>Public functions</h3></th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])">dump</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;prefix:&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;fd:&nbsp;<a href="https://developer.android.com/reference/java/io/FileDescriptor.html">FileDescriptor</a>?,<br>&nbsp;&nbsp;&nbsp;&nbsp;writer:&nbsp;<a href="https://developer.android.com/reference/java/io/PrintWriter.html">PrintWriter</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;args:&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;?<br>)</code></div>
              <p>Print the Activity's state into the given stream.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/fragment/app/FragmentManager.html">FragmentManager</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#getSupportFragmentManager()">getSupportFragmentManager</a>()</code></div>
              <p>Return the FragmentManager for interacting with fragments associated with this activity.</p>
            </td>
          </tr>
          <tr>
            <td><code>LoaderManager</code></td>
            <td width="100%">
              <div><code><span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#getSupportLoaderManager()">getSupportLoaderManager</a></del></span>()</code></div>
              <p><strong>This function is deprecated.</strong> 
                <p>Use LoaderManager.getInstance(this).</p>
              </p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onAttachFragment(androidx.fragment.app.Fragment)">onAttachFragment</a></del></span>(fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>)</code></div>
              <p><strong>This function is deprecated.</strong> 
                <p>The responsibility for listening for fragments being attached has been moved to FragmentManager.</p>
              </p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onConfigurationChanged(android.content.res.Configuration)">onConfigurationChanged</a>(newConfig:&nbsp;Configuration)</code></div>
              <p>Dispatch configuration change to all fragments.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onCreatePanelMenu(int,android.view.Menu)">onCreatePanelMenu</a>(featureId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,&nbsp;menu:&nbsp;Menu)</code></div>
              <p>Dispatch to Fragment.onCreateOptionsMenu().</p>
            </td>
          </tr>
          <tr>
            <td><code>View?</code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet)">onCreateView</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;parent:&nbsp;View?,<br>&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;context:&nbsp;Context,<br>&nbsp;&nbsp;&nbsp;&nbsp;attrs:&nbsp;AttributeSet<br>)</code></div>
            </td>
          </tr>
          <tr>
            <td><code>View?</code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet)">onCreateView</a>(name:&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>,&nbsp;context:&nbsp;Context,&nbsp;attrs:&nbsp;AttributeSet)</code></div>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onLowMemory()">onLowMemory</a>()</code></div>
              <p>Dispatch onLowMemory() to all fragments.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onMenuItemSelected(int,android.view.MenuItem)">onMenuItemSelected</a>(featureId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,&nbsp;item:&nbsp;MenuItem)</code></div>
              <p>Dispatch context and options menu to fragments.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onMultiWindowModeChanged(boolean)">onMultiWindowModeChanged</a>(isInMultiWindowMode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a>)</code></div>
              <p><b>Note:</b> If you override this method you must call <code>super.onMultiWindowModeChanged</code> to correctly dispatch the event to support fragments attached to this activity.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onPanelClosed(int,android.view.Menu)">onPanelClosed</a>(featureId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,&nbsp;menu:&nbsp;Menu)</code></div>
              <p>Call onOptionsMenuClosed() on fragments.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onPictureInPictureModeChanged(boolean)">onPictureInPictureModeChanged</a>(isInPictureInPictureMode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a>)</code></div>
              <p><b>Note:</b> If you override this method you must call <code>super.onPictureInPictureModeChanged</code> to correctly dispatch the event to support fragments attached to this activity.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onPreparePanel(int,android.view.View,android.view.Menu)">onPreparePanel</a>(featureId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,&nbsp;view:&nbsp;View?,&nbsp;menu:&nbsp;Menu)</code></div>
              <p>Dispatch onPrepareOptionsMenu() to fragments.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onRequestPermissionsResult(int,java.lang.String[],int[])">onRequestPermissionsResult</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;permissions:&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;,<br>&nbsp;&nbsp;&nbsp;&nbsp;grantResults:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>&gt;<br>)</code></div>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onStateNotSaved()">onStateNotSaved</a>()</code></div>
              <p>Hook in to note that fragment state is no longer saved.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#setEnterSharedElementCallback(androidx.core.app.SharedElementCallback)">setEnterSharedElementCallback</a>(callback:&nbsp;SharedElementCallback?)</code></div>
              <p>When makeSceneTransitionAnimation was used to start an Activity, callbackwill be called to handle shared elements on the <em>launched</em> Activity.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#setExitSharedElementCallback(androidx.core.app.SharedElementCallback)">setExitSharedElementCallback</a>(listener:&nbsp;SharedElementCallback?)</code></div>
              <p>When makeSceneTransitionAnimation was used to start an Activity, listenerwill be called to handle shared elements on the <em>launching</em> Activity.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#startActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int)">startActivityFromFragment</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;intent:&nbsp;Intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a><br>)</code></div>
              <p>Called by Fragment.startActivityForResult() to implement its behavior.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#startActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle)">startActivityFromFragment</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;intent:&nbsp;Intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;options:&nbsp;Bundle?<br>)</code></div>
              <p>Called by Fragment.startActivityForResult() to implement its behavior.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#startIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle)">startIntentSenderFromFragment</a></del></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;intent:&nbsp;IntentSender,<br>&nbsp;&nbsp;&nbsp;&nbsp;requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;fillInIntent:&nbsp;Intent?,<br>&nbsp;&nbsp;&nbsp;&nbsp;flagsMask:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;flagsValues:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;extraFlags:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;options:&nbsp;Bundle?<br>)</code></div>
              <p><strong>This function is deprecated.</strong> 
                <p>Fragments should use <code><a href="/reference/kotlin/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 the StartIntentSenderForResult contract.</p>
              </p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#supportFinishAfterTransition()">supportFinishAfterTransition</a>()</code></div>
              <p>Reverses the Activity Scene entry Transition and triggers the calling Activity to reverse its exit Transition.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#supportInvalidateOptionsMenu()">supportInvalidateOptionsMenu</a></del></span>()</code></div>
              <p><strong>This function is deprecated.</strong> 
                <p>Call Activity#invalidateOptionsMenu directly.</p>
              </p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#supportPostponeEnterTransition()">supportPostponeEnterTransition</a>()</code></div>
              <p>Support library version of postponeEnterTransition that works only on API 21 and later.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#supportStartPostponedEnterTransition()">supportStartPostponedEnterTransition</a>()</code></div>
              <p>Support library version of startPostponedEnterTransition that only works with API 21 and later.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td width="100%">
              <div><code><span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#validateRequestPermissionsRequestCode(int)">validateRequestPermissionsRequestCode</a></del></span>(requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>)</code></div>
              <p><strong>This function is deprecated.</strong> 
                <p>there are no longer any restrictions on permissions requestCodes.</p>
              </p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2>Public constructors</h2>
    <div><a name="FragmentActivity--"></a>
      <h3 class="api-name" id="FragmentActivity()">FragmentActivity</h3>
      <pre class="api-signature no-pretty-print"><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#FragmentActivity()">FragmentActivity</a>()</pre>
      <p>Default constructor for FragmentActivity. All Activities must have a default constructor for API 27 and lower devices or when using the default android.app.AppComponentFactory.</p>
    </div>
    <div><a name="FragmentActivity-int-"></a>
      <h3 class="api-name" id="FragmentActivity(int)">FragmentActivity</h3>
      <pre class="api-signature no-pretty-print"><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#FragmentActivity(int)">FragmentActivity</a>(contentLayoutId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>)</pre>
      <p>Alternate constructor that can be used to provide a default layout that will be inflated as part of <code>super.onCreate(savedInstanceState)</code>. </p>
      <p>This should generally be called from your constructor that takes no parameters, as is required for API 27 and lower or when using the default android.app.AppComponentFactory.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">See also</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#FragmentActivity()">FragmentActivity</a></code></td>
              <td width="100%">
                <p>#FragmentActivity()</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <h2>Public functions</h2>
    <div><a name="dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])"></a><a name="dump-java.lang.String-java.io.FileDescriptor-java.io.PrintWriter-java.lang.String[]-"></a>
      <h3 class="api-name" id="dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])">dump</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])">dump</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;prefix:&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;fd:&nbsp;<a href="https://developer.android.com/reference/java/io/FileDescriptor.html">FileDescriptor</a>?,<br>&nbsp;&nbsp;&nbsp;&nbsp;writer:&nbsp;<a href="https://developer.android.com/reference/java/io/PrintWriter.html">PrintWriter</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;args:&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;?<br>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Print the Activity's state into the given stream. This gets invoked if you run &quot;adb shell dumpsys activity &quot;.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Parameters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>prefix:&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a></code></td>
              <td width="100%">
                <p>Desired prefix to prepend at each line of output.</p>
              </td>
            </tr>
            <tr>
              <td><code>fd:&nbsp;<a href="https://developer.android.com/reference/java/io/FileDescriptor.html">FileDescriptor</a>?</code></td>
              <td width="100%">
                <p>The raw file descriptor that the dump is being sent to.</p>
              </td>
            </tr>
            <tr>
              <td><code>writer:&nbsp;<a href="https://developer.android.com/reference/java/io/PrintWriter.html">PrintWriter</a></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>args:&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;?</code></td>
              <td width="100%">
                <p>additional arguments to the dump request.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div><a name="getSupportFragmentManager--"></a>
      <h3 class="api-name" id="getSupportFragmentManager()">getSupportFragmentManager</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#getSupportFragmentManager()">getSupportFragmentManager</a>():&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentManager.html">FragmentManager</a></pre>
      <p>Return the FragmentManager for interacting with fragments associated with this activity.</p>
    </div>
    <div><a name="getSupportLoaderManager--"></a>
      <h3 class="api-name" id="getSupportLoaderManager()">getSupportLoaderManager</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#getSupportLoaderManager()">getSupportLoaderManager</a></del></span>():&nbsp;LoaderManager</pre>
      <aside class="caution"><strong>This function is deprecated.</strong><br>
        <p>Use LoaderManager.getInstance(this).</p>
      </aside>
    </div>
    <div><a name="onAttachFragment-androidx.fragment.app.Fragment-"></a>
      <h3 class="api-name" id="onAttachFragment(androidx.fragment.app.Fragment)">onAttachFragment</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onAttachFragment(androidx.fragment.app.Fragment)">onAttachFragment</a></del></span>(fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <aside class="caution"><strong>This function is deprecated.</strong><br>
        <p>The responsibility for listening for fragments being attached has been moved to FragmentManager. You can add a listener to <code><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#getSupportFragmentManager()">this Activity's FragmentManager</a></code> by calling <code><a href="/reference/kotlin/androidx/fragment/app/FragmentManager.html#addFragmentOnAttachListener(androidx.fragment.app.FragmentOnAttachListener)">FragmentManager#addFragmentOnAttachListener(FragmentOnAttachListener)</a></code> in your constructor to get callbacks when a fragment is attached directly to the activity's FragmentManager.</p>
      </aside>
      <p>Called when a fragment is attached to the activity. </p>
      <p>This is called after the attached fragment's <code>onAttach</code> and before the attached fragment's <code>onCreate</code> if the fragment has not yet had a previous call to <code>onCreate</code>.</p>
    </div>
    <div><a name="onConfigurationChanged-android.content.res.Configuration-"></a>
      <h3 class="api-name" id="onConfigurationChanged(android.content.res.Configuration)">onConfigurationChanged</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onConfigurationChanged(android.content.res.Configuration)">onConfigurationChanged</a>(newConfig:&nbsp;Configuration):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Dispatch configuration change to all fragments.</p>
    </div>
    <div><a name="onCreatePanelMenu(int, android.view.Menu)"></a><a name="onCreatePanelMenu-int-android.view.Menu-"></a>
      <h3 class="api-name" id="onCreatePanelMenu(int,android.view.Menu)">onCreatePanelMenu</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onCreatePanelMenu(int,android.view.Menu)">onCreatePanelMenu</a>(featureId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,&nbsp;menu:&nbsp;Menu):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></pre>
      <p>Dispatch to Fragment.onCreateOptionsMenu().</p>
    </div>
    <div><a name="onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet)"></a><a name="onCreateView-android.view.View-java.lang.String-android.content.Context-android.util.AttributeSet-"></a>
      <h3 class="api-name" id="onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet)">onCreateView</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet)">onCreateView</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;parent:&nbsp;View?,<br>&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;context:&nbsp;Context,<br>&nbsp;&nbsp;&nbsp;&nbsp;attrs:&nbsp;AttributeSet<br>):&nbsp;View?</pre>
    </div>
    <div><a name="onCreateView(java.lang.String, android.content.Context, android.util.AttributeSet)"></a><a name="onCreateView-java.lang.String-android.content.Context-android.util.AttributeSet-"></a>
      <h3 class="api-name" id="onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet)">onCreateView</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet)">onCreateView</a>(name:&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html">String</a>,&nbsp;context:&nbsp;Context,&nbsp;attrs:&nbsp;AttributeSet):&nbsp;View?</pre>
    </div>
    <div><a name="onLowMemory--"></a>
      <h3 class="api-name" id="onLowMemory()">onLowMemory</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onLowMemory()">onLowMemory</a>():&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Dispatch onLowMemory() to all fragments.</p>
    </div>
    <div><a name="onMenuItemSelected(int, android.view.MenuItem)"></a><a name="onMenuItemSelected-int-android.view.MenuItem-"></a>
      <h3 class="api-name" id="onMenuItemSelected(int,android.view.MenuItem)">onMenuItemSelected</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onMenuItemSelected(int,android.view.MenuItem)">onMenuItemSelected</a>(featureId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,&nbsp;item:&nbsp;MenuItem):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></pre>
      <p>Dispatch context and options menu to fragments.</p>
    </div>
    <div><a name="onMultiWindowModeChanged-boolean-"></a>
      <h3 class="api-name" id="onMultiWindowModeChanged(boolean)">onMultiWindowModeChanged</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onMultiWindowModeChanged(boolean)">onMultiWindowModeChanged</a>(isInMultiWindowMode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p><b>Note:</b> If you override this method you must call <code>super.onMultiWindowModeChanged</code> to correctly dispatch the event to support fragments attached to this activity.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Parameters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>isInMultiWindowMode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></code></td>
              <td width="100%">
                <p>True if the activity is in multi-window mode.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div><a name="onPanelClosed(int, android.view.Menu)"></a><a name="onPanelClosed-int-android.view.Menu-"></a>
      <h3 class="api-name" id="onPanelClosed(int,android.view.Menu)">onPanelClosed</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onPanelClosed(int,android.view.Menu)">onPanelClosed</a>(featureId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,&nbsp;menu:&nbsp;Menu):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Call onOptionsMenuClosed() on fragments.</p>
    </div>
    <div><a name="onPictureInPictureModeChanged-boolean-"></a>
      <h3 class="api-name" id="onPictureInPictureModeChanged(boolean)">onPictureInPictureModeChanged</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onPictureInPictureModeChanged(boolean)">onPictureInPictureModeChanged</a>(isInPictureInPictureMode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p><b>Note:</b> If you override this method you must call <code>super.onPictureInPictureModeChanged</code> to correctly dispatch the event to support fragments attached to this activity.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Parameters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>isInPictureInPictureMode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></code></td>
              <td width="100%">
                <p>True if the activity is in picture-in-picture mode.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div><a name="onPreparePanel(int, android.view.View, android.view.Menu)"></a><a name="onPreparePanel-int-android.view.View-android.view.Menu-"></a>
      <h3 class="api-name" id="onPreparePanel(int,android.view.View,android.view.Menu)">onPreparePanel</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onPreparePanel(int,android.view.View,android.view.Menu)">onPreparePanel</a>(featureId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,&nbsp;view:&nbsp;View?,&nbsp;menu:&nbsp;Menu):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></pre>
      <p>Dispatch onPrepareOptionsMenu() to fragments.</p>
    </div>
    <div><a name="onRequestPermissionsResult(int, java.lang.String[], int[])"></a><a name="onRequestPermissionsResult-int-java.lang.String[]-int[]-"></a>
      <h3 class="api-name" id="onRequestPermissionsResult(int,java.lang.String[],int[])">onRequestPermissionsResult</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onRequestPermissionsResult(int,java.lang.String[],int[])">onRequestPermissionsResult</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;permissions:&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;,<br>&nbsp;&nbsp;&nbsp;&nbsp;grantResults:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>&gt;<br>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
    </div>
    <div><a name="onStateNotSaved--"></a>
      <h3 class="api-name" id="onStateNotSaved()">onStateNotSaved</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#onStateNotSaved()">onStateNotSaved</a>():&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Hook in to note that fragment state is no longer saved.</p>
    </div>
    <div><a name="setEnterSharedElementCallback-androidx.core.app.SharedElementCallback-"></a>
      <h3 class="api-name" id="setEnterSharedElementCallback(androidx.core.app.SharedElementCallback)">setEnterSharedElementCallback</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#setEnterSharedElementCallback(androidx.core.app.SharedElementCallback)">setEnterSharedElementCallback</a>(callback:&nbsp;SharedElementCallback?):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>When makeSceneTransitionAnimation was used to start an Activity, callbackwill be called to handle shared elements on the <em>launched</em> Activity. This requires Window#FEATURE_CONTENT_TRANSITIONS.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Parameters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>callback:&nbsp;SharedElementCallback?</code></td>
              <td width="100%">
                <p>Used to manipulate shared element transitions on the launched Activity.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div><a name="setExitSharedElementCallback-androidx.core.app.SharedElementCallback-"></a>
      <h3 class="api-name" id="setExitSharedElementCallback(androidx.core.app.SharedElementCallback)">setExitSharedElementCallback</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#setExitSharedElementCallback(androidx.core.app.SharedElementCallback)">setExitSharedElementCallback</a>(listener:&nbsp;SharedElementCallback?):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>When makeSceneTransitionAnimation was used to start an Activity, listenerwill be called to handle shared elements on the <em>launching</em> Activity. Most calls will only come when returning from the started Activity. This requires Window#FEATURE_CONTENT_TRANSITIONS.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Parameters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>listener:&nbsp;SharedElementCallback?</code></td>
              <td width="100%">
                <p>Used to manipulate shared element transitions on the launching Activity.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div><a name="startActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int)"></a><a name="startActivityFromFragment-androidx.fragment.app.Fragment-android.content.Intent-int-"></a>
      <h3 class="api-name" id="startActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int)">startActivityFromFragment</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#startActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int)">startActivityFromFragment</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;intent:&nbsp;Intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a><br>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Called by Fragment.startActivityForResult() to implement its behavior.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Parameters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a></code></td>
              <td width="100%">
                <p>the Fragment to start the activity from.</p>
              </td>
            </tr>
            <tr>
              <td><code>intent:&nbsp;Intent</code></td>
              <td width="100%">
                <p>The intent to start.</p>
              </td>
            </tr>
            <tr>
              <td><code>requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a></code></td>
              <td width="100%">
                <p>The request code to be returned in <code><a href="/reference/kotlin/androidx/fragment/app/Fragment.html#onActivityResult(int,int,android.content.Intent)">Fragment#onActivityResult(int, int, Intent)</a></code> when the activity exits. Must be between 0 and 65535 to be considered valid. If given requestCode is greater than 65535, an IllegalArgumentException would be thrown.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div><a name="startActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int, android.os.Bundle)"></a><a name="startActivityFromFragment-androidx.fragment.app.Fragment-android.content.Intent-int-android.os.Bundle-"></a>
      <h3 class="api-name" id="startActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle)">startActivityFromFragment</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#startActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle)">startActivityFromFragment</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;intent:&nbsp;Intent,<br>&nbsp;&nbsp;&nbsp;&nbsp;requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;options:&nbsp;Bundle?<br>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Called by Fragment.startActivityForResult() to implement its behavior.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Parameters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a></code></td>
              <td width="100%">
                <p>the Fragment to start the activity from.</p>
              </td>
            </tr>
            <tr>
              <td><code>intent:&nbsp;Intent</code></td>
              <td width="100%">
                <p>The intent to start.</p>
              </td>
            </tr>
            <tr>
              <td><code>requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a></code></td>
              <td width="100%">
                <p>The request code to be returned in <code><a href="/reference/kotlin/androidx/fragment/app/Fragment.html#onActivityResult(int,int,android.content.Intent)">Fragment#onActivityResult(int, int, Intent)</a></code> when the activity exits. Must be between 0 and 65535 to be considered valid. If given requestCode is greater than 65535, an IllegalArgumentException would be thrown.</p>
              </td>
            </tr>
            <tr>
              <td><code>options:&nbsp;Bundle?</code></td>
              <td width="100%">
                <p>Additional options for how the Activity should be started. See Context#startActivity(Intent, Bundle) for more details. This value may be null.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div><a name="startIntentSenderFromFragment(androidx.fragment.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle)"></a><a name="startIntentSenderFromFragment-androidx.fragment.app.Fragment-android.content.IntentSender-int-android.content.Intent-int-int-int-android.os.Bundle-"></a>
      <h3 class="api-name" id="startIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle)">startIntentSenderFromFragment</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#startIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle)">startIntentSenderFromFragment</a></del></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;intent:&nbsp;IntentSender,<br>&nbsp;&nbsp;&nbsp;&nbsp;requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;fillInIntent:&nbsp;Intent?,<br>&nbsp;&nbsp;&nbsp;&nbsp;flagsMask:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;flagsValues:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;extraFlags:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;options:&nbsp;Bundle?<br>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <aside class="caution"><strong>This function is deprecated.</strong><br>
        <p>Fragments should use <code><a href="/reference/kotlin/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 the StartIntentSenderForResult contract. This method will still be called when Fragments call the deprecated <code>startIntentSenderForResult()</code> method.</p>
      </aside>
      <p>Called by Fragment.startIntentSenderForResult() to implement its behavior.</p>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Parameters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>fragment:&nbsp;<a href="/reference/kotlin/androidx/fragment/app/Fragment.html">Fragment</a></code></td>
              <td width="100%">
                <p>the Fragment to start the intent sender from.</p>
              </td>
            </tr>
            <tr>
              <td><code>intent:&nbsp;IntentSender</code></td>
              <td width="100%">
                <p>The IntentSender to launch.</p>
              </td>
            </tr>
            <tr>
              <td><code>requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a></code></td>
              <td width="100%">
                <p>The request code to be returned in <code><a href="/reference/kotlin/androidx/fragment/app/Fragment.html#onActivityResult(int,int,android.content.Intent)">Fragment#onActivityResult(int, int, Intent)</a></code> when the activity exits. Must be between 0 and 65535 to be considered valid. If given requestCode is greater than 65535, an IllegalArgumentException would be thrown.</p>
              </td>
            </tr>
            <tr>
              <td><code>fillInIntent:&nbsp;Intent?</code></td>
              <td width="100%">
                <p>If non-null, this will be provided as the intent parameter to IntentSender#sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler). This value may be null.</p>
              </td>
            </tr>
            <tr>
              <td><code>flagsMask:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a></code></td>
              <td width="100%">
                <p>Intent flags in the original IntentSender that you would like to change.</p>
              </td>
            </tr>
            <tr>
              <td><code>flagsValues:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a></code></td>
              <td width="100%">
                <p>Desired values for any bits set in <code>flagsMask</code>.</p>
              </td>
            </tr>
            <tr>
              <td><code>extraFlags:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a></code></td>
              <td width="100%">
                <p>Always set to 0.</p>
              </td>
            </tr>
            <tr>
              <td><code>options:&nbsp;Bundle?</code></td>
              <td width="100%">
                <p>Additional options for how the Activity should be started. See Context#startActivity(Intent, Bundle) for more details. This value may be null.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
      <div class="devsite-table-wrapper">
        <table class="responsive">
          <thead>
            <tr>
              <th colspan="2">Throws</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><code>android.content.IntentSender.SendIntentException</code></td>
              <td width="100%">
                <p>if the call fails to execute.</p>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
    <div><a name="supportFinishAfterTransition--"></a>
      <h3 class="api-name" id="supportFinishAfterTransition()">supportFinishAfterTransition</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#supportFinishAfterTransition()">supportFinishAfterTransition</a>():&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Reverses the Activity Scene entry Transition and triggers the calling Activity to reverse its exit Transition. When the exit Transition completes, finish is called. If no entry Transition was used, finish() is called immediately and the Activity exit Transition is run. </p>
      <p>On Android 4.4 or lower, this method only finishes the Activity with no special exit transition.</p>
    </div>
    <div><a name="supportInvalidateOptionsMenu--"></a>
      <h3 class="api-name" id="supportInvalidateOptionsMenu()">supportInvalidateOptionsMenu</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#supportInvalidateOptionsMenu()">supportInvalidateOptionsMenu</a></del></span>():&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <aside class="caution"><strong>This function is deprecated.</strong><br>
        <p>Call Activity#invalidateOptionsMenu directly.</p>
      </aside>
      <p>Support library version of Activity#invalidateOptionsMenu. </p>
      <p>Invalidate the activity's options menu. This will cause relevant presentations of the menu to fully update via calls to onCreateOptionsMenu and onPrepareOptionsMenu the next time the menu is requested.</p>
    </div>
    <div><a name="supportPostponeEnterTransition--"></a>
      <h3 class="api-name" id="supportPostponeEnterTransition()">supportPostponeEnterTransition</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#supportPostponeEnterTransition()">supportPostponeEnterTransition</a>():&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Support library version of postponeEnterTransition that works only on API 21 and later.</p>
    </div>
    <div><a name="supportStartPostponedEnterTransition--"></a>
      <h3 class="api-name" id="supportStartPostponedEnterTransition()">supportStartPostponedEnterTransition</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#supportStartPostponedEnterTransition()">supportStartPostponedEnterTransition</a>():&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>Support library version of startPostponedEnterTransition that only works with API 21 and later.</p>
    </div>
    <div><a name="validateRequestPermissionsRequestCode-int-"></a>
      <h3 class="api-name" id="validateRequestPermissionsRequestCode(int)">validateRequestPermissionsRequestCode</h3>
      <pre class="api-signature no-pretty-print">fun&nbsp;<span><del><a href="/reference/kotlin/androidx/fragment/app/FragmentActivity.html#validateRequestPermissionsRequestCode(int)">validateRequestPermissionsRequestCode</a></del></span>(requestCode:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <aside class="caution"><strong>This function is deprecated.</strong><br>
        <p>there are no longer any restrictions on permissions requestCodes.</p>
      </aside>
    </div>
  </body>
</html>
