是否可以根据发送到应用程序的元数据定义要打开的“屏幕”?例如,来自 Android/iOS 上的应用程序快捷方式?如果是这样,我将如何着手去做?
最佳答案
我认为在纯 Dart 和当前的 Flutter API 中这是不可能的。我会编写一个插件来拦截 iOS 上的 application:openURL:options:
和 Android 上的 onCreate/onNewIntent
。您可以使用您的插件为 Dart 代码提供一种访问您收到的 native 元数据的方法,并使用它来推送
一个新的 Route
到您的 Navigator
启动期间的堆栈。您可以在 firebase_messaging example app 中看到类似的内容,这将是您了解插件系统的良好起点。
这是 documentation有关插件的更多信息。如果您决定编写一个插件,请考虑发布它以便其他人也可以使用它。
您可能还想查看此 comment on issue 8711其中描述了另一个团队试图向他们的 Flutter 应用程序添加深层链接。
关于flutter - 如何使用打开路径的元数据启动应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44202657/