如何启动多个FlutterActivities?

问题描述 投票:0回答:1

我有一个Flutter制作的应用程序,只在Android中运行,它有一个完全用Native代码制作的屏幕。

现在,项目经理的新请求是在该本机屏幕上包含一个用于打开新页面的按钮。我想完全在Flutter中制作那个页面(活动),但我无法以任何方式使它工作。

这是应用程序的外观:Flutter页面(MainActivity) - > Native页面(另一个活动) - >一个新的flutter页面(第三个活动)

该应用程序不是一个嵌入式应用程序,它是一个完整的FLUTTER APP,只有一个本地页面

有谁知道这是怎么做到的吗?

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [versão 10.0.17763.379], locale pt-BR)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.3)
[√] IntelliJ IDEA Community Edition (version 2019.1)
[√] VS Code (version 1.30.1)
[√] Connected device (1 available)

• No issues found!
android dart flutter
1个回答
0
投票

关键是导致问题的GeneratedPluginRegistrant。现在我可以让它像这样工作:

class ANewFluterActivity : FlutterActivity() {

    override fun createFlutterView(context: Context): FlutterView {
        val matchParent = WindowManager.LayoutParams(-1, -1)
        val nativeView = this.createFlutterNativeView()
        val flutterView = FlutterView(this, null as AttributeSet?, nativeView)
        flutterView.setInitialRoute("YOUR_NEW_ROUTE")
        flutterView.layoutParams = matchParent

        this.setContentView(flutterView)
        return flutterView
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        GeneratedPluginRegistrant.registerWith(this) //THIS IS THE SECRET TO MAKE PLUGINS WORK PROPERLY
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.