3
是否可以根据发送到应用程序的元数据定义要打开的“屏幕”?例如,从Android/iOS上的应用程序快捷方式?如果是这样,我该如何去做呢?如何使用元数据启动应用以打开路由?
是否可以根据发送到应用程序的元数据定义要打开的“屏幕”?例如,从Android/iOS上的应用程序快捷方式?如果是这样,我该如何去做呢?如何使用元数据启动应用以打开路由?
我不认为这是可行的在纯Dart当前的Flutter API。我会编写一个拦截iOS上的application:openURL:options:
和Android上的onCreate/onNewIntent
的插件。您可以使用您的插件为Dart代码提供一种访问您收到的本地元数据的方式,并在启动期间使用它将push
一个新的Route
堆叠到您的Navigator
堆栈上。您可以在firebase_messaging example app中看到类似的内容,这对于学习围绕插件系统的方式来说是一个很好的起点。
这是插件上的documentation以获取更多信息。如果您决定编写插件,请考虑发布它,以便其他人也可以使用它。
您可能还想看看这个comment on issue 8711,它描述了另一个团队试图向他们的Flutter应用添加深层链接。