Class FlutterLoader
java.lang.Object
io.flutter.embedding.engine.loader.FlutterLoader
Finds Flutter resources in an application APK and also loads Flutter's native library.
-
Nested Class Summary
-
Constructor Summary
ConstructorDescriptionFlutterLoader
(FlutterJNI flutterJNI) Creates aFlutterLoader
that uses a default constructedExecutorService
.FlutterLoader
(FlutterJNI flutterJNI, ExecutorService executorService) Creates aFlutterLoader
with the specifiedFlutterJNI
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns the configuration on whether flutter engine should automatically register plugins.void
ensureInitializationComplete
(Context applicationContext, String[] args) Blocks until initialization of the native system has completed.void
ensureInitializationCompleteAsync
(Context applicationContext, String[] args, Handler callbackHandler, Runnable callback) Same asensureInitializationComplete(Context, String[])
but waiting on a background thread, then invokingcallback
on thecallbackHandler
.getLookupKeyForAsset
(String asset) Returns the file name for the given asset.getLookupKeyForAsset
(String asset, String packageName) Returns the file name for the given asset which originates from the specified packageName.boolean
Returns whether the FlutterLoader has finished loading the native library.void
startInitialization
(Context applicationContext) Starts initialization of the native system.void
startInitialization
(Context applicationContext, FlutterLoader.Settings settings) Starts initialization of the native system.
-
Constructor Details
-
FlutterLoader
public FlutterLoader() -
FlutterLoader
Creates aFlutterLoader
that uses a default constructedExecutorService
.- Parameters:
flutterJNI
- TheFlutterJNI
instance to use for loading the libflutter.so C++ library, setting up the font manager, and calling into C++ initialization.
-
FlutterLoader
Creates aFlutterLoader
with the specifiedFlutterJNI
.- Parameters:
flutterJNI
- TheFlutterJNI
instance to use for loading the libflutter.so C++ library, setting up the font manager, and calling into C++ initialization.executorService
- TheExecutorService
to use when creating new threads.
-
-
Method Details
-
startInitialization
Starts initialization of the native system.- Parameters:
applicationContext
- The Android application context.
-
startInitialization
public void startInitialization(@NonNull Context applicationContext, @NonNull FlutterLoader.Settings settings) Starts initialization of the native system.This loads the Flutter engine's native library to enable subsequent JNI calls. This also starts locating and unpacking Dart resources packaged in the app's APK.
Calling this method multiple times has no effect.
- Parameters:
applicationContext
- The Android application context.settings
- Configuration settings.
-
ensureInitializationComplete
public void ensureInitializationComplete(@NonNull Context applicationContext, @Nullable String[] args) Blocks until initialization of the native system has completed.Calling this method multiple times has no effect.
- Parameters:
applicationContext
- The Android application context.args
- Flags sent to the Flutter runtime.
-
ensureInitializationCompleteAsync
public void ensureInitializationCompleteAsync(@NonNull Context applicationContext, @Nullable String[] args, @NonNull Handler callbackHandler, @NonNull Runnable callback) Same asensureInitializationComplete(Context, String[])
but waiting on a background thread, then invokingcallback
on thecallbackHandler
. -
initialized
public boolean initialized()Returns whether the FlutterLoader has finished loading the native library. -
findAppBundlePath
-
getLookupKeyForAsset
Returns the file name for the given asset. The returned file name can be used to access the asset in the APK through theAssetManager
API.- Parameters:
asset
- the name of the asset. The name can be hierarchical- Returns:
- the filename to be used with
AssetManager
-
getLookupKeyForAsset
Returns the file name for the given asset which originates from the specified packageName. The returned file name can be used to access the asset in the APK through theAssetManager
API.- Parameters:
asset
- the name of the asset. The name can be hierarchicalpackageName
- the name of the package from which the asset originates- Returns:
- the file name to be used with
AssetManager
-
automaticallyRegisterPlugins
@NonNull public boolean automaticallyRegisterPlugins()Returns the configuration on whether flutter engine should automatically register plugins.
-