Class FlutterFragmentActivity
- All Implemented Interfaces:
ComponentCallbacks
,ComponentCallbacks2
,KeyEvent.Callback
,LayoutInflater.Factory
,LayoutInflater.Factory2
,View.OnCreateContextMenuListener
,Window.Callback
,androidx.activity.contextaware.ContextAware
,androidx.activity.FullyDrawnReporterOwner
,androidx.activity.OnBackPressedDispatcherOwner
,androidx.activity.result.ActivityResultCaller
,androidx.activity.result.ActivityResultRegistryOwner
,androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback
,androidx.core.app.ActivityCompat.RequestPermissionsRequestCodeValidator
,androidx.core.app.OnMultiWindowModeChangedProvider
,androidx.core.app.OnNewIntentProvider
,androidx.core.app.OnPictureInPictureModeChangedProvider
,androidx.core.content.OnConfigurationChangedProvider
,androidx.core.content.OnTrimMemoryProvider
,androidx.core.view.KeyEventDispatcher.Component
,androidx.core.view.MenuHost
,androidx.lifecycle.HasDefaultViewModelProviderFactory
,androidx.lifecycle.LifecycleOwner
,androidx.lifecycle.ViewModelStoreOwner
,androidx.savedstate.SavedStateRegistryOwner
,FlutterEngineConfigurator
,FlutterEngineProvider
Activity
that is based upon FragmentActivity
.
FlutterFragmentActivity
exists because there are some Android APIs in the ecosystem
that only accept a FragmentActivity
. If a FragmentActivity
is not required, you
should consider using a regular FlutterActivity
instead, because FlutterActivity
is considered to be the standard, canonical implementation of a Flutter Activity
.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder to create anIntent
that launches aFlutterFragmentActivity
with an existingFlutterEngine
that is cached inFlutterEngineCache
.static class
Builder to create anIntent
that launches aFlutterFragmentActivity
with a newFlutterEngine
by FlutterEngineGroup#createAndRunEngine.static class
Builder to create anIntent
that launches aFlutterFragmentActivity
with a newFlutterEngine
and the desired configuration.Nested classes/interfaces inherited from class androidx.core.app.ComponentActivity
androidx.core.app.ComponentActivity.ExtraData
Nested classes/interfaces inherited from class android.app.Activity
Activity.ScreenCaptureCallback
Nested classes/interfaces inherited from class android.content.Context
Context.BindServiceFlags
-
Field Summary
Fields inherited from class android.app.Activity
DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, FOCUSED_STATE_SET, FULLSCREEN_MODE_REQUEST_ENTER, FULLSCREEN_MODE_REQUEST_EXIT, OVERRIDE_TRANSITION_CLOSE, OVERRIDE_TRANSITION_OPEN, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK
Fields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APP_SEARCH_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_ACTIVITY_STARTS, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_EXTERNAL_SERVICE_LONG, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_PACKAGE_ISOLATED_PROCESS, BIND_SHARED_ISOLATED_PROCESS, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLOB_STORE_SERVICE, BLUETOOTH_SERVICE, BUGREPORT_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_DIAGNOSTICS_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTACT_KEYS_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CREDENTIAL_SERVICE, CROSS_PROFILE_APPS_SERVICE, DEVICE_ID_DEFAULT, DEVICE_ID_INVALID, DEVICE_LOCK_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_HASH_SERVICE, DISPLAY_SERVICE, DOMAIN_VERIFICATION_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FILE_INTEGRITY_SERVICE, FINGERPRINT_SERVICE, GAME_SERVICE, GRAMMATICAL_INFLECTION_SERVICE, HARDWARE_PROPERTIES_SERVICE, HEALTHCONNECT_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCALE_SERVICE, LOCATION_SERVICE, MEDIA_COMMUNICATION_SERVICE, MEDIA_METRICS_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, OVERLAY_SERVICE, PEOPLE_SERVICE, PERFORMANCE_HINT_SERVICE, PERSISTENT_DATA_BLOCK_SERVICE, POWER_SERVICE, PRINT_SERVICE, PROFILING_SERVICE, RECEIVER_EXPORTED, RECEIVER_NOT_EXPORTED, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SEARCH_SERVICE, SECURITY_STATE_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STATUS_BAR_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_IMS_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, TV_INTERACTIVE_APP_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_MANAGER_SERVICE, VIBRATOR_SERVICE, VIRTUAL_DEVICE_SERVICE, VPN_MANAGEMENT_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
Fields inherited from interface android.content.ComponentCallbacks2
TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanUpFlutterEngine
(FlutterEngine flutterEngine) Hook for the host to cleanup references that were established inconfigureFlutterEngine(FlutterEngine)
before the host is destroyed or detached.void
configureFlutterEngine
(FlutterEngine flutterEngine) Hook for subclasses to easily configure aFlutterEngine
.static Intent
createDefaultIntent
(Context launchContext) Creates anIntent
that launches aFlutterFragmentActivity
, which executes amain()
Dart entrypoint, and displays the "/" route as Flutter's initial route.protected FlutterFragment
Creates the instance of theFlutterFragment
that thisFlutterFragmentActivity
displays.protected String
A custom path to the bundle that contains this Flutter app's resources, e.g., Dart code snapshots.The desired window background mode of thisActivity
, which defaults toFlutterActivityLaunchConfigs.BackgroundMode.opaque
.protected String
protected String
Returns the ID of a statically cachedFlutterEngine
to use within thisFlutterFragmentActivity
, ornull
if thisFlutterFragmentActivity
does not want to use a cachedFlutterEngine
.The Dart entrypoint arguments will be passed as a list of string to Dart's entrypoint function.The Dart entrypoint that will be executed as soon as the Dart snapshot is loaded.The Dart library URI for the entrypoint that will be executed as soon as the Dart snapshot is loaded.protected FlutterEngine
protected String
The initial route that a Flutter app will render upon loading and executing its Dart code.protected Bundle
Retrieves the meta data specified in the AndroidManifest.xml.protected RenderMode
protected void
onActivityResult
(int requestCode, int resultCode, Intent data) protected void
protected void
onNewIntent
(Intent intent) void
void
onRequestPermissionsResult
(int requestCode, String[] permissions, int[] grantResults) void
onTrimMemory
(int level) void
provideFlutterEngine
(Context context) Hook for subclasses to easily provide a customFlutterEngine
.protected FrameLayout
provideRootLayout
(Context context) Returns aFrameLayout
that is used as the content view of this activity.protected boolean
Hook for subclasses to control whether or not theFlutterFragment
within thisActivity
automatically attaches itsFlutterEngine
to thisActivity
.boolean
Returns false if theFlutterEngine
backing thisFlutterFragmentActivity
should outlive thisFlutterFragmentActivity
, or true to be destroyed when theFlutterFragmentActivity
is destroyed.protected boolean
Whether to handle the deeplinking from theIntent
automatically if thegetInitialRoute
returns null.withCachedEngine
(String cachedEngineId) Creates aFlutterFragmentActivity.CachedEngineIntentBuilder
, which can be used to configure anIntent
to launch aFlutterFragmentActivity
that internally uses an existingFlutterEngine
that is cached inFlutterEngineCache
.Creates anFlutterFragmentActivity.NewEngineIntentBuilder
, which can be used to configure anIntent
to launch aFlutterFragmentActivity
that internally creates a newFlutterEngine
using the desired Dart entrypoint, initial route, etc.withNewEngineInGroup
(String engineGroupId) Creates aFlutterFragmentActivity.NewEngineInGroupIntentBuilder
, which can be used to configure anIntent
to launch aFlutterFragmentActivity
that internally uses an existingFlutterEngineGroup
that is cached inFlutterEngineGroupCache
.Methods inherited from class androidx.fragment.app.FragmentActivity
dump, getSupportFragmentManager, getSupportLoaderManager, onAttachFragment, onCreateView, onCreateView, onDestroy, onMenuItemSelected, onPause, onResume, onResumeFragments, onStart, onStateNotSaved, onStop, setEnterSharedElementCallback, setExitSharedElementCallback, startActivityFromFragment, startActivityFromFragment, startIntentSenderFromFragment, supportFinishAfterTransition, supportInvalidateOptionsMenu, supportPostponeEnterTransition, supportStartPostponedEnterTransition, validateRequestPermissionsRequestCode
Methods inherited from class androidx.activity.ComponentActivity
addContentView, addMenuProvider, addMenuProvider, addMenuProvider, addOnConfigurationChangedListener, addOnContextAvailableListener, addOnMultiWindowModeChangedListener, addOnNewIntentListener, addOnPictureInPictureModeChangedListener, addOnTrimMemoryListener, getActivityResultRegistry, getDefaultViewModelCreationExtras, getDefaultViewModelProviderFactory, getFullyDrawnReporter, getLastCustomNonConfigurationInstance, getLifecycle, getOnBackPressedDispatcher, getSavedStateRegistry, getViewModelStore, initializeViewTreeOwners, invalidateMenu, onBackPressed, onConfigurationChanged, onCreatePanelMenu, onMultiWindowModeChanged, onMultiWindowModeChanged, onPanelClosed, onPictureInPictureModeChanged, onPictureInPictureModeChanged, onPreparePanel, onRetainCustomNonConfigurationInstance, onRetainNonConfigurationInstance, onSaveInstanceState, peekAvailableContext, registerForActivityResult, registerForActivityResult, removeMenuProvider, removeOnConfigurationChangedListener, removeOnContextAvailableListener, removeOnMultiWindowModeChangedListener, removeOnNewIntentListener, removeOnPictureInPictureModeChangedListener, removeOnTrimMemoryListener, reportFullyDrawn, setContentView, setContentView, setContentView, startActivityForResult, startActivityForResult, startIntentSenderForResult, startIntentSenderForResult
Methods inherited from class androidx.core.app.ComponentActivity
dispatchKeyEvent, dispatchKeyShortcutEvent, getExtraData, putExtraData, shouldDumpInternalState, superDispatchKeyEvent
Methods inherited from class android.app.Activity
attachBaseContext, clearOverrideActivityTransition, closeContextMenu, closeOptionsMenu, createPendingResult, dismissDialog, dismissKeyboardShortcutsHelper, dispatchGenericMotionEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, enterPictureInPictureMode, enterPictureInPictureMode, findViewById, finish, finishActivity, finishActivityFromChild, finishAffinity, finishAfterTransition, finishAndRemoveTask, finishFromChild, getActionBar, getApplication, getCaller, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getContentScene, getContentTransitionManager, getCurrentCaller, getCurrentFocus, getFragmentManager, getInitialCaller, getIntent, getLastNonConfigurationInstance, getLaunchedFromPackage, getLaunchedFromUid, getLayoutInflater, getLoaderManager, getLocalClassName, getMaxNumPictureInPictureActions, getMediaController, getMenuInflater, getOnBackInvokedDispatcher, getParent, getParentActivityIntent, getPreferences, getReferrer, getRequestedOrientation, getSearchEvent, getSplashScreen, getSystemService, getTaskId, getTitle, getTitleColor, getVoiceInteractor, getVolumeControlStream, getWindow, getWindowManager, hasWindowFocus, invalidateOptionsMenu, isActivityTransitionRunning, isChangingConfigurations, isChild, isDestroyed, isFinishing, isImmersive, isInMultiWindowMode, isInPictureInPictureMode, isLaunchedFromBubble, isLocalVoiceInteractionSupported, isTaskRoot, isVoiceInteraction, isVoiceInteractionRoot, managedQuery, moveTaskToBack, navigateUpTo, navigateUpToFromChild, onActionModeFinished, onActionModeStarted, onActivityReenter, onActivityResult, onApplyThemeResource, onAttachedToWindow, onAttachFragment, onChildTitleChanged, onContentChanged, onContextItemSelected, onContextMenuClosed, onCreate, onCreateContextMenu, onCreateDescription, onCreateDialog, onCreateDialog, onCreateNavigateUpTaskStack, onCreateOptionsMenu, onCreatePanelView, onCreateThumbnail, onDetachedFromWindow, onEnterAnimationComplete, onGenericMotionEvent, onGetDirectActions, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyShortcut, onKeyUp, onLocalVoiceInteractionStarted, onLocalVoiceInteractionStopped, onLowMemory, onMenuOpened, onNavigateUp, onNavigateUpFromChild, onNewIntent, onOptionsItemSelected, onOptionsMenuClosed, onPerformDirectAction, onPictureInPictureRequested, onPictureInPictureUiStateChanged, onPostCreate, onPostCreate, onPrepareDialog, onPrepareDialog, onPrepareNavigateUpTaskStack, onPrepareOptionsMenu, onProvideAssistContent, onProvideAssistData, onProvideKeyboardShortcuts, onProvideReferrer, onRequestPermissionsResult, onRestart, onRestoreInstanceState, onRestoreInstanceState, onSaveInstanceState, onSearchRequested, onSearchRequested, onTitleChanged, onTopResumedActivityChanged, onTouchEvent, onTrackballEvent, onUserInteraction, onVisibleBehindCanceled, onWindowAttributesChanged, onWindowFocusChanged, onWindowStartingActionMode, onWindowStartingActionMode, openContextMenu, openOptionsMenu, overrideActivityTransition, overrideActivityTransition, overridePendingTransition, overridePendingTransition, postponeEnterTransition, recreate, registerActivityLifecycleCallbacks, registerComponentCallbacks, registerForContextMenu, registerScreenCaptureCallback, releaseInstance, removeDialog, requestDragAndDropPermissions, requestFullscreenMode, requestPermissions, requestPermissions, requestShowKeyboardShortcuts, requestVisibleBehind, requestWindowFeature, requireViewById, runOnUiThread, setActionBar, setAllowCrossUidActivitySwitchFromBelow, setContentTransitionManager, setDefaultKeyMode, setEnterSharedElementCallback, setExitSharedElementCallback, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setFinishOnTouchOutside, setImmersive, setInheritShowWhenLocked, setIntent, setIntent, setLocusContext, setMediaController, setPictureInPictureParams, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRecentsScreenshotEnabled, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setShouldDockBigOverlays, setShowWhenLocked, setTaskDescription, setTheme, setTitle, setTitle, setTitleColor, setTranslucent, setTurnScreenOn, setVisible, setVolumeControlStream, setVrModeEnabled, shouldDockBigOverlays, shouldShowRequestPermissionRationale, shouldShowRequestPermissionRationale, shouldUpRecreateTask, showAssist, showDialog, showDialog, showLockTaskEscapeMessage, startActionMode, startActionMode, startActivities, startActivities, startActivity, startActivity, startActivityFromChild, startActivityFromChild, startActivityFromFragment, startActivityFromFragment, startActivityIfNeeded, startActivityIfNeeded, startIntentSender, startIntentSender, startIntentSenderFromChild, startIntentSenderFromChild, startLocalVoiceInteraction, startLockTask, startManagingCursor, startNextMatchingActivity, startNextMatchingActivity, startPostponedEnterTransition, startSearch, stopLocalVoiceInteraction, stopLockTask, stopManagingCursor, takeKeyEvents, triggerSearch, unregisterActivityLifecycleCallbacks, unregisterComponentCallbacks, unregisterForContextMenu, unregisterScreenCaptureCallback
Methods inherited from class android.view.ContextThemeWrapper
applyOverrideConfiguration, getAssets, getResources, getTheme, setTheme
Methods inherited from class android.content.ContextWrapper
bindIsolatedService, bindService, bindService, bindService, bindService, bindServiceAsUser, bindServiceAsUser, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingOrSelfUriPermissions, checkCallingPermission, checkCallingUriPermission, checkCallingUriPermissions, checkContentUriPermissionFull, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, checkUriPermissions, clearWallpaper, createAttributionContext, createConfigurationContext, createContext, createContextForSplit, createDeviceContext, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, createWindowContext, createWindowContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAttributionSource, getAttributionTag, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDeviceId, getDir, getDisplay, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getParams, getSharedPreferences, getSystemServiceName, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, isUiContext, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerDeviceIdChangeListener, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeSelfPermissionsOnKill, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setWallpaper, setWallpaper, startForegroundService, startInstrumentation, startService, stopService, unbindService, unregisterDeviceIdChangeListener, unregisterReceiver, updateServiceGroup
Methods inherited from class android.content.Context
bindIsolatedService, getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, revokeSelfPermissionOnKill, sendBroadcastWithMultiplePermissions
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface android.view.Window.Callback
onPointerCaptureChanged
-
Field Details
-
FRAGMENT_CONTAINER_ID
public static final int FRAGMENT_CONTAINER_ID
-
-
Constructor Details
-
FlutterFragmentActivity
public FlutterFragmentActivity()
-
-
Method Details
-
createDefaultIntent
Creates anIntent
that launches aFlutterFragmentActivity
, which executes amain()
Dart entrypoint, and displays the "/" route as Flutter's initial route. -
withNewEngine
Creates anFlutterFragmentActivity.NewEngineIntentBuilder
, which can be used to configure anIntent
to launch aFlutterFragmentActivity
that internally creates a newFlutterEngine
using the desired Dart entrypoint, initial route, etc. -
withCachedEngine
@NonNull public static FlutterFragmentActivity.CachedEngineIntentBuilder withCachedEngine(@NonNull String cachedEngineId) Creates aFlutterFragmentActivity.CachedEngineIntentBuilder
, which can be used to configure anIntent
to launch aFlutterFragmentActivity
that internally uses an existingFlutterEngine
that is cached inFlutterEngineCache
. -
withNewEngineInGroup
public static FlutterFragmentActivity.NewEngineInGroupIntentBuilder withNewEngineInGroup(@NonNull String engineGroupId) Creates aFlutterFragmentActivity.NewEngineInGroupIntentBuilder
, which can be used to configure anIntent
to launch aFlutterFragmentActivity
that internally uses an existingFlutterEngineGroup
that is cached inFlutterEngineGroupCache
.- Parameters:
engineGroupId
- A cached engine group ID.- Returns:
- The builder.
-
onCreate
- Overrides:
onCreate
in classandroidx.fragment.app.FragmentActivity
-
createFlutterFragment
Creates the instance of theFlutterFragment
that thisFlutterFragmentActivity
displays.Subclasses may override this method to return a specialization of
FlutterFragment
. -
onPostResume
public void onPostResume()- Overrides:
onPostResume
in classandroidx.fragment.app.FragmentActivity
-
onNewIntent
- Overrides:
onNewIntent
in classandroidx.activity.ComponentActivity
-
onRequestPermissionsResult
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) - Specified by:
onRequestPermissionsResult
in interfaceandroidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback
- Overrides:
onRequestPermissionsResult
in classandroidx.fragment.app.FragmentActivity
-
onUserLeaveHint
public void onUserLeaveHint()- Overrides:
onUserLeaveHint
in classActivity
-
onTrimMemory
public void onTrimMemory(int level) - Specified by:
onTrimMemory
in interfaceComponentCallbacks2
- Overrides:
onTrimMemory
in classandroidx.activity.ComponentActivity
-
onActivityResult
- Overrides:
onActivityResult
in classandroidx.fragment.app.FragmentActivity
-
getFlutterEngine
-
shouldDestroyEngineWithHost
public boolean shouldDestroyEngineWithHost()Returns false if theFlutterEngine
backing thisFlutterFragmentActivity
should outlive thisFlutterFragmentActivity
, or true to be destroyed when theFlutterFragmentActivity
is destroyed.The default value is
true
in cases whereFlutterFragmentActivity
created its ownFlutterEngine
, andfalse
in cases where a cachedFlutterEngine
was provided. -
shouldAttachEngineToActivity
protected boolean shouldAttachEngineToActivity()Hook for subclasses to control whether or not theFlutterFragment
within thisActivity
automatically attaches itsFlutterEngine
to thisActivity
.For an explanation of why this control exists, see
FlutterFragment.shouldAttachEngineToActivity()
.This property is controlled with a protected method instead of an
Intent
argument because the only situation where changing this value would help, is a situation in whichFlutterFragmentActivity
is being subclassed to utilize a custom and/or cachedFlutterEngine
.Defaults to
true
. -
shouldHandleDeeplinking
@VisibleForTesting protected boolean shouldHandleDeeplinking()Whether to handle the deeplinking from theIntent
automatically if thegetInitialRoute
returns null.The default implementation looks
<meta-data>
calledFlutterActivityLaunchConfigs.HANDLE_DEEPLINKING_META_DATA_KEY
within the Android manifest definition for thisFlutterFragmentActivity
. -
provideFlutterEngine
Hook for subclasses to easily provide a customFlutterEngine
.- Specified by:
provideFlutterEngine
in interfaceFlutterEngineProvider
- Parameters:
context
- The current context. e.g. An activity.- Returns:
- The Flutter engine.
-
configureFlutterEngine
Hook for subclasses to easily configure aFlutterEngine
.This method is called after
provideFlutterEngine(Context)
.All plugins listed in the app's pubspec are registered in the base implementation of this method unless the FlutterEngine for this activity was externally created. To avoid the automatic plugin registration for implicitly created FlutterEngines, override this method without invoking super(). To keep automatic plugin registration and further configure the FlutterEngine, override this method, invoke super(), and then configure the FlutterEngine as desired.
- Specified by:
configureFlutterEngine
in interfaceFlutterEngineConfigurator
- Parameters:
flutterEngine
- The Flutter engine.
-
cleanUpFlutterEngine
Hook for the host to cleanup references that were established inconfigureFlutterEngine(FlutterEngine)
before the host is destroyed or detached.This method is called in
FragmentActivity.onDestroy()
.- Specified by:
cleanUpFlutterEngine
in interfaceFlutterEngineConfigurator
- Parameters:
flutterEngine
- The Flutter engine.
-
getAppBundlePath
A custom path to the bundle that contains this Flutter app's resources, e.g., Dart code snapshots.When this
FlutterFragmentActivity
is run by Flutter tooling and a data String is included in the launchingIntent
, that data String is interpreted as an app bundle path.When otherwise unspecified, the value is null, which defaults to the app bundle path defined in
FlutterLoader.findAppBundlePath()
.Subclasses may override this method to return a custom app bundle path.
-
getMetaData
Retrieves the meta data specified in the AndroidManifest.xml. -
getDartEntrypointFunctionName
The Dart entrypoint that will be executed as soon as the Dart snapshot is loaded.This preference can be controlled by setting a
<meta-data>
calledFlutterActivityLaunchConfigs.DART_ENTRYPOINT_META_DATA_KEY
within the Android manifest definition for thisFlutterFragmentActivity
.Subclasses may override this method to directly control the Dart entrypoint.
-
getDartEntrypointArgs
The Dart entrypoint arguments will be passed as a list of string to Dart's entrypoint function.A value of null means do not pass any arguments to Dart's entrypoint function.
Subclasses may override this method to directly control the Dart entrypoint arguments.
-
getDartEntrypointLibraryUri
The Dart library URI for the entrypoint that will be executed as soon as the Dart snapshot is loaded.Example value: "package:foo/bar.dart"
This preference can be controlled by setting a
<meta-data>
calledFlutterActivityLaunchConfigs.DART_ENTRYPOINT_URI_META_DATA_KEY
within the Android manifest definition for thisFlutterFragmentActivity
.A value of null means use the default root library.
Subclasses may override this method to directly control the Dart entrypoint uri.
-
getInitialRoute
The initial route that a Flutter app will render upon loading and executing its Dart code.This preference can be controlled with 2 methods:
- Pass a boolean as
FlutterActivityLaunchConfigs.EXTRA_INITIAL_ROUTE
with the launchingIntent
, or - Set a
<meta-data>
calledFlutterActivityLaunchConfigs.INITIAL_ROUTE_META_DATA_KEY
for thisActivity
in the Android manifest.
Intent
preference takes priority.The reason that a
<meta-data>
preference is supported is because thisActivity
might be the very firstActivity
launched, which means the developer won't have control over the incomingIntent
.Subclasses may override this method to directly control the initial route.
If this method returns null and the
shouldHandleDeeplinking
returns true, the initial route is derived from theIntent
through the Intent.getData() instead. - Pass a boolean as
-
getCachedEngineId
Returns the ID of a statically cachedFlutterEngine
to use within thisFlutterFragmentActivity
, ornull
if thisFlutterFragmentActivity
does not want to use a cachedFlutterEngine
. -
getCachedEngineGroupId
-
getBackgroundMode
The desired window background mode of thisActivity
, which defaults toFlutterActivityLaunchConfigs.BackgroundMode.opaque
. -
getRenderMode
Returns the desiredRenderMode
for theFlutterView
displayed in thisFlutterFragmentActivity
.That is,
RenderMode.surface
ifgetBackgroundMode()
isFlutterActivityLaunchConfigs.BackgroundMode.opaque
orRenderMode.texture
otherwise. -
provideRootLayout
Returns aFrameLayout
that is used as the content view of this activity.
-