我目前正在我的Flutter应用程序中集成一个Google Tap&Pay SDK。我的应用程序startActivityForResult
本机谷歌钱包活动添加一张卡到钱包。现在钱包Activity想要startActivityForResult
我的应用中的另一个Activity来获取验证码。
现在,所有Flutter应用程序都基于单一活动架构。如果我在flutter应用程序中启动同一个Activity
的新示例,则前一个示例的会话将失效。因此,我无法处理同一Activity的多个示例。
我如何在Flutter应用中添加另一个Activity
,它可以启动并共享相同的Flutter引擎?
该图看起来像这样:
A --> B --> C
- A:Flutter活动
- B:Google钱包活动
- C:获取验证码的另一个活动
2条答案
按热度按时间sauutmhj1#
我想你可以用
flutter_isolate
包Flutter isolate
enxuqcxy2#
要在Flutter应用中添加第二个Android Activity,您可以按照以下步骤操作:
1.新建Android Activity:您可以在android/app/src/main/java/your/package/name目录中创建一个新的Android Activity。此活动将用于获取验证码。
1.将新Activity添加到AndroidManifest.xml:您需要在android/app/src/main目录下的AndroidManifest.xml文件中声明此Activity。
1.从Flutter启动新Activity:您可以使用
MethodChannel
在Flutter和原生Android之间进行通信。下面是一个如何执行此操作的示例:在您的SecondActivity.java中:
请注意,您需要将
com.example
替换为您自己的软件包名称。1.共享同一个FlutterEngine:在Android和iOS上添加多个Flutter示例的主要API基于一个新的
FlutterEngineGroup
类。这允许您在多个Activity之间共享相同的Flutter引擎。请记住,虽然这种方法允许您向Flutter应用添加第二个Activity,但通常建议在可能的情况下在Flutter应用中使用单个Activity架构。多个活动可能导致复杂性增加和潜在的性能问题。