Reputation: 644
Iam integrating FlutterActivity
to a native Android app.
I have CustomFlutterActivity
which inherits from FlutterActivity
, which I want to launch using cached FlutterEngine
.
This is the code from the documentation for how to do this:
startActivity(
FlutterActivity
.withNewEngine()
.build(currentActivity)
);
What I want to achieve is to launch my CustomFlutterActivity
with my cached engine (and not a generic FlutterActivity
as the documentation says)
Upvotes: 6
Views: 2017
Reputation: 26
You can override provideFlutterEngine
and return FlutterEngine
from the cache.
class CustomFlutterActivity : FlutterActivity() {
override fun provideFlutterEngine(context: Context): FlutterEngine? {
return FlutterEngineCache.getInstance().get("flutter_engine")
}
}
Upvotes: 0
Reputation: 103
In your CustomFlutterActivity
which I suppose is derived from FlutterActivity
you can override getCachedEngineId
and provide the my_engine_id
you have previously cached according to the docs, namely:
FlutterEngineCache
.getInstance()
.put("my_engine_id", flutterEngine);
Thus:
class CustomFlutterActivity: FlutterActivity() {
override fun getCachedEngineId(): String? {
return "my_engine_id"
}
}
See docs
Upvotes: 4