Class FlutterFragmentActivity
- java.lang.Object
-
- android.content.Context
-
- android.content.ContextWrapper
-
- android.view.ContextThemeWrapper
-
- android.app.Activity
-
- androidx.core.app.ComponentActivity
-
- androidx.activity.ComponentActivity
-
- androidx.fragment.app.FragmentActivity
-
- io.flutter.embedding.android.FlutterFragmentActivity
-
- All Implemented Interfaces:
ComponentCallbacks,ComponentCallbacks2,KeyEvent.Callback,LayoutInflater.Factory,LayoutInflater.Factory2,View.OnCreateContextMenuListener,Window.Callback,androidx.activity.OnBackPressedDispatcherOwner,androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback,androidx.core.app.ActivityCompat.RequestPermissionsRequestCodeValidator,androidx.core.view.KeyEventDispatcher.Component,androidx.lifecycle.LifecycleOwner,androidx.lifecycle.ViewModelStoreOwner,androidx.savedstate.SavedStateRegistryOwner,FlutterEngineConfigurator,FlutterEngineProvider,SplashScreenProvider
public class FlutterFragmentActivity extends androidx.fragment.app.FragmentActivity implements SplashScreenProvider, FlutterEngineProvider, FlutterEngineConfigurator
A FlutterActivitythat is based uponFragmentActivity.FlutterFragmentActivityexists because there are some Android APIs in the ecosystem that only accept aFragmentActivity. If aFragmentActivityis not required, you should consider using a regularFlutterActivityinstead, becauseFlutterActivityis considered to be the standard, canonical implementation of a FlutterActivity.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFlutterFragmentActivity.CachedEngineIntentBuilderBuilder to create anIntentthat launches aFlutterFragmentActivitywith an existingFlutterEnginethat is cached inFlutterEngineCache.static classFlutterFragmentActivity.NewEngineIntentBuilderBuilder to create anIntentthat launches aFlutterFragmentActivitywith a newFlutterEngineand the desired configuration.
-
Field Summary
Fields Modifier and Type Field Description static intFRAGMENT_CONTAINER_ID-
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, 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_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, 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, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CROSS_PROFILE_APPS_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, HARDWARE_PROPERTIES_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_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, PEOPLE_SERVICE, PERFORMANCE_HINT_SERVICE, POWER_SERVICE, PRINT_SERVICE, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_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, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_MANAGER_SERVICE, VIBRATOR_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
Constructors Constructor Description FlutterFragmentActivity()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanUpFlutterEngine(FlutterEngine flutterEngine)Hook for the host to cleanup references that were established inconfigureFlutterEngine(FlutterEngine)before the host is destroyed or detached.voidconfigureFlutterEngine(FlutterEngine flutterEngine)Hook for subclasses to easily configure aFlutterEngine.static IntentcreateDefaultIntent(Context launchContext)Creates anIntentthat launches aFlutterFragmentActivity, which executes amain()Dart entrypoint, and displays the "/" route as Flutter's initial route.protected FlutterFragmentcreateFlutterFragment()Creates the instance of theFlutterFragmentthat thisFlutterFragmentActivitydisplays.protected StringgetAppBundlePath()A custom path to the bundle that contains this Flutter app's resources, e.g., Dart code snapshots.protected FlutterActivityLaunchConfigs.BackgroundModegetBackgroundMode()The desired window background mode of thisActivity, which defaults toFlutterActivityLaunchConfigs.BackgroundMode.opaque.protected StringgetCachedEngineId()Returns the ID of a statically cachedFlutterEngineto use within thisFlutterFragmentActivity, ornullif thisFlutterFragmentActivitydoes not want to use a cachedFlutterEngine.List<String>getDartEntrypointArgs()The Dart entrypoint arguments will be passed as a list of string to Dart's entrypoint function.StringgetDartEntrypointFunctionName()The Dart entrypoint that will be executed as soon as the Dart snapshot is loaded.StringgetDartEntrypointLibraryUri()The Dart library URI for the entrypoint that will be executed as soon as the Dart snapshot is loaded.protected FlutterEnginegetFlutterEngine()protected StringgetInitialRoute()The initial route that a Flutter app will render upon loading and executing its Dart code.protected BundlegetMetaData()Retrieves the meta data specified in the AndroidManifest.xml.protected RenderModegetRenderMode()protected voidonActivityResult(int requestCode, int resultCode, Intent data)voidonBackPressed()protected voidonCreate(Bundle savedInstanceState)protected voidonNewIntent(Intent intent)voidonPostResume()voidonRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)voidonTrimMemory(int level)voidonUserLeaveHint()FlutterEngineprovideFlutterEngine(Context context)Hook for subclasses to easily provide a customFlutterEngine.protected FrameLayoutprovideRootLayout(Context context)Returns aFrameLayoutthat is used as the content view of this activity.SplashScreenprovideSplashScreen()Provides aSplashScreento display while Flutter initializes and renders its first frame.protected booleanshouldAttachEngineToActivity()Hook for subclasses to control whether or not theFlutterFragmentwithin thisActivityautomatically attaches itsFlutterEngineto thisActivity.booleanshouldDestroyEngineWithHost()Returns false if theFlutterEnginebacking thisFlutterFragmentActivityshould outlive thisFlutterFragmentActivity, or true to be destroyed when theFlutterFragmentActivityis destroyed.protected booleanshouldHandleDeeplinking()Whether to handle the deeplinking from theIntentautomatically if thegetInitialRoutereturns null.static FlutterFragmentActivity.CachedEngineIntentBuilderwithCachedEngine(String cachedEngineId)Creates aFlutterFragmentActivity.CachedEngineIntentBuilder, which can be used to configure anIntentto launch aFlutterFragmentActivitythat internally uses an existingFlutterEnginethat is cached inFlutterEngineCache.static FlutterFragmentActivity.NewEngineIntentBuilderwithNewEngine()Creates anFlutterFragmentActivity.NewEngineIntentBuilder, which can be used to configure anIntentto launch aFlutterFragmentActivitythat internally creates a newFlutterEngineusing the desired Dart entrypoint, initial route, etc.-
Methods inherited from class androidx.fragment.app.FragmentActivity
dump, getSupportFragmentManager, getSupportLoaderManager, onAttachFragment, onConfigurationChanged, onCreatePanelMenu, onCreateView, onCreateView, onDestroy, onLowMemory, onMenuItemSelected, onMultiWindowModeChanged, onPanelClosed, onPause, onPictureInPictureModeChanged, onPrepareOptionsPanel, onPreparePanel, onResume, onResumeFragments, onSaveInstanceState, onStart, onStateNotSaved, onStop, setEnterSharedElementCallback, setExitSharedElementCallback, startActivityForResult, startActivityForResult, startActivityFromFragment, startActivityFromFragment, startIntentSenderForResult, startIntentSenderForResult, startIntentSenderFromFragment, supportFinishAfterTransition, supportInvalidateOptionsMenu, supportPostponeEnterTransition, supportStartPostponedEnterTransition, validateRequestPermissionsRequestCode
-
Methods inherited from class androidx.activity.ComponentActivity
getLastCustomNonConfigurationInstance, getLifecycle, getOnBackPressedDispatcher, getSavedStateRegistry, getViewModelStore, onRetainCustomNonConfigurationInstance, onRetainNonConfigurationInstance
-
Methods inherited from class androidx.core.app.ComponentActivity
dispatchKeyEvent, dispatchKeyShortcutEvent, getExtraData, putExtraData, superDispatchKeyEvent
-
Methods inherited from class android.app.Activity
addContentView, attachBaseContext, closeContextMenu, closeOptionsMenu, createPendingResult, dismissDialog, dismissKeyboardShortcutsHelper, dispatchGenericMotionEvent, dispatchPopulateAccessibilityEvent, dispatchTouchEvent, dispatchTrackballEvent, enterPictureInPictureMode, enterPictureInPictureMode, findViewById, finish, finishActivity, finishActivityFromChild, finishAffinity, finishAfterTransition, finishAndRemoveTask, finishFromChild, getActionBar, getApplication, getCallingActivity, getCallingPackage, getChangingConfigurations, getComponentName, getContentScene, getContentTransitionManager, getCurrentFocus, getFragmentManager, getIntent, getLastNonConfigurationInstance, getLayoutInflater, getLoaderManager, getLocalClassName, getMaxNumPictureInPictureActions, getMediaController, getMenuInflater, 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, 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, onMenuOpened, onMultiWindowModeChanged, onNavigateUp, onNavigateUpFromChild, onOptionsItemSelected, onOptionsMenuClosed, onPerformDirectAction, onPictureInPictureModeChanged, onPictureInPictureRequested, onPictureInPictureUiStateChanged, onPostCreate, onPostCreate, onPrepareDialog, onPrepareDialog, onPrepareNavigateUpTaskStack, onPrepareOptionsMenu, onProvideAssistContent, onProvideAssistData, onProvideKeyboardShortcuts, onProvideReferrer, onRestart, onRestoreInstanceState, onRestoreInstanceState, onSaveInstanceState, onSearchRequested, onSearchRequested, onTitleChanged, onTopResumedActivityChanged, onTouchEvent, onTrackballEvent, onUserInteraction, onVisibleBehindCanceled, onWindowAttributesChanged, onWindowFocusChanged, onWindowStartingActionMode, onWindowStartingActionMode, openContextMenu, openOptionsMenu, overridePendingTransition, postponeEnterTransition, recreate, registerActivityLifecycleCallbacks, registerForContextMenu, releaseInstance, removeDialog, reportFullyDrawn, requestDragAndDropPermissions, requestPermissions, requestShowKeyboardShortcuts, requestVisibleBehind, requestWindowFeature, requireViewById, runOnUiThread, setActionBar, setContentTransitionManager, setContentView, setContentView, setContentView, setDefaultKeyMode, setEnterSharedElementCallback, setExitSharedElementCallback, setFeatureDrawable, setFeatureDrawableAlpha, setFeatureDrawableResource, setFeatureDrawableUri, setFinishOnTouchOutside, setImmersive, setInheritShowWhenLocked, setIntent, setLocusContext, setMediaController, setPictureInPictureParams, setProgress, setProgressBarIndeterminate, setProgressBarIndeterminateVisibility, setProgressBarVisibility, setRequestedOrientation, setResult, setResult, setSecondaryProgress, setShowWhenLocked, setTaskDescription, setTheme, setTitle, setTitle, setTitleColor, setTranslucent, setTurnScreenOn, setVisible, setVolumeControlStream, setVrModeEnabled, 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, unregisterForContextMenu
-
Methods inherited from class android.view.ContextThemeWrapper
applyOverrideConfiguration, getAssets, getResources, getTheme, setTheme
-
Methods inherited from class android.content.ContextWrapper
bindIsolatedService, bindService, bindService, bindServiceAsUser, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingOrSelfUriPermissions, checkCallingPermission, checkCallingUriPermission, checkCallingUriPermissions, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, checkUriPermissions, clearWallpaper, createAttributionContext, createConfigurationContext, createContext, createContextForSplit, 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, 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, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setWallpaper, setWallpaper, startForegroundService, startInstrumentation, startService, stopService, unbindService, unregisterReceiver, updateServiceGroup
-
Methods inherited from class android.content.Context
getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, registerComponentCallbacks, sendBroadcastWithMultiplePermissions, unregisterComponentCallbacks
-
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
-
-
-
-
Method Detail
-
createDefaultIntent
@NonNull public static Intent createDefaultIntent(@NonNull Context launchContext)
Creates anIntentthat launches aFlutterFragmentActivity, which executes amain()Dart entrypoint, and displays the "/" route as Flutter's initial route.
-
withNewEngine
@NonNull public static FlutterFragmentActivity.NewEngineIntentBuilder withNewEngine()
Creates anFlutterFragmentActivity.NewEngineIntentBuilder, which can be used to configure anIntentto launch aFlutterFragmentActivitythat internally creates a newFlutterEngineusing 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 anIntentto launch aFlutterFragmentActivitythat internally uses an existingFlutterEnginethat is cached inFlutterEngineCache.
-
onCreate
protected void onCreate(@Nullable Bundle savedInstanceState)- Overrides:
onCreatein classandroidx.fragment.app.FragmentActivity
-
provideSplashScreen
@Nullable public SplashScreen provideSplashScreen()
Description copied from interface:SplashScreenProviderProvides aSplashScreento display while Flutter initializes and renders its first frame.- Specified by:
provideSplashScreenin interfaceSplashScreenProvider- Returns:
- The splash screen.
-
createFlutterFragment
@NonNull protected FlutterFragment createFlutterFragment()
Creates the instance of theFlutterFragmentthat thisFlutterFragmentActivitydisplays.Subclasses may override this method to return a specialization of
FlutterFragment.
-
onPostResume
public void onPostResume()
- Overrides:
onPostResumein classandroidx.fragment.app.FragmentActivity
-
onNewIntent
protected void onNewIntent(@NonNull Intent intent)- Overrides:
onNewIntentin classandroidx.fragment.app.FragmentActivity
-
onBackPressed
public void onBackPressed()
- Overrides:
onBackPressedin classandroidx.activity.ComponentActivity
-
onRequestPermissionsResult
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults)- Specified by:
onRequestPermissionsResultin interfaceandroidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback- Overrides:
onRequestPermissionsResultin classandroidx.fragment.app.FragmentActivity
-
onUserLeaveHint
public void onUserLeaveHint()
- Overrides:
onUserLeaveHintin classActivity
-
onTrimMemory
public void onTrimMemory(int level)
- Specified by:
onTrimMemoryin interfaceComponentCallbacks2- Overrides:
onTrimMemoryin classActivity
-
onActivityResult
protected void onActivityResult(int requestCode, int resultCode, Intent data)- Overrides:
onActivityResultin classandroidx.fragment.app.FragmentActivity
-
getFlutterEngine
@Nullable protected FlutterEngine getFlutterEngine()
-
shouldDestroyEngineWithHost
public boolean shouldDestroyEngineWithHost()
Returns false if theFlutterEnginebacking thisFlutterFragmentActivityshould outlive thisFlutterFragmentActivity, or true to be destroyed when theFlutterFragmentActivityis destroyed.The default value is
truein cases whereFlutterFragmentActivitycreated its ownFlutterEngine, andfalsein cases where a cachedFlutterEnginewas provided.
-
shouldAttachEngineToActivity
protected boolean shouldAttachEngineToActivity()
Hook for subclasses to control whether or not theFlutterFragmentwithin thisActivityautomatically attaches itsFlutterEngineto thisActivity.For an explanation of why this control exists, see
FlutterFragment.shouldAttachEngineToActivity().This property is controlled with a protected method instead of an
Intentargument because the only situation where changing this value would help, is a situation in whichFlutterFragmentActivityis being subclassed to utilize a custom and/or cachedFlutterEngine.Defaults to
true.
-
shouldHandleDeeplinking
protected boolean shouldHandleDeeplinking()
Whether to handle the deeplinking from theIntentautomatically if thegetInitialRoutereturns null.The default implementation looks
<meta-data>calledFlutterActivityLaunchConfigs.HANDLE_DEEPLINKING_META_DATA_KEYwithin the Android manifest definition for thisFlutterFragmentActivity.
-
provideFlutterEngine
@Nullable public FlutterEngine provideFlutterEngine(@NonNull Context context)
Hook for subclasses to easily provide a customFlutterEngine.- Specified by:
provideFlutterEnginein interfaceFlutterEngineProvider- Parameters:
context- The current context. e.g. An activity.- Returns:
- The Flutter engine.
-
configureFlutterEngine
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine)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:
configureFlutterEnginein interfaceFlutterEngineConfigurator- Parameters:
flutterEngine- The Flutter engine.
-
cleanUpFlutterEngine
public void cleanUpFlutterEngine(@NonNull FlutterEngine flutterEngine)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:
cleanUpFlutterEnginein interfaceFlutterEngineConfigurator- Parameters:
flutterEngine- The Flutter engine.
-
getAppBundlePath
@NonNull protected String getAppBundlePath()
A custom path to the bundle that contains this Flutter app's resources, e.g., Dart code snapshots.When this
FlutterFragmentActivityis 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
@Nullable protected Bundle getMetaData() throws PackageManager.NameNotFoundException
Retrieves the meta data specified in the AndroidManifest.xml.
-
getDartEntrypointFunctionName
@NonNull public String 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_KEYwithin the Android manifest definition for thisFlutterFragmentActivity.Subclasses may override this method to directly control the Dart entrypoint.
-
getDartEntrypointArgs
@Nullable public List<String> 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
@Nullable public String 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_KEYwithin 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
protected String 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_ROUTEwith the launchingIntent, or - Set a
<meta-data>calledFlutterActivityLaunchConfigs.INITIAL_ROUTE_META_DATA_KEYfor thisActivityin the Android manifest.
Intentpreference takes priority.The reason that a
<meta-data>preference is supported is because thisActivitymight be the very firstActivitylaunched, 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
shouldHandleDeeplinkingreturns true, the initial route is derived from theIntentthrough the Intent.getData() instead. - Pass a boolean as
-
getCachedEngineId
@Nullable protected String getCachedEngineId()
Returns the ID of a statically cachedFlutterEngineto use within thisFlutterFragmentActivity, ornullif thisFlutterFragmentActivitydoes not want to use a cachedFlutterEngine.
-
getBackgroundMode
@NonNull protected FlutterActivityLaunchConfigs.BackgroundMode getBackgroundMode()
The desired window background mode of thisActivity, which defaults toFlutterActivityLaunchConfigs.BackgroundMode.opaque.
-
getRenderMode
@NonNull protected RenderMode getRenderMode()
Returns the desiredRenderModefor theFlutterViewdisplayed in thisFlutterFragmentActivity.That is,
RenderMode.surfaceifgetBackgroundMode()isFlutterActivityLaunchConfigs.BackgroundMode.opaqueorRenderMode.textureotherwise.
-
provideRootLayout
@NonNull protected FrameLayout provideRootLayout(Context context)
Returns aFrameLayoutthat is used as the content view of this activity.
-
-