我的应用程序打开一个浏览器供用户登录。后端应用程序然后发出重定向到深层链接。
我的路线文件有这个:
GoRoute(
path: '/login/:token',
builder: (context, state) {
final token = state.params['token'];
if(token != null) {
setLoginToken(token);
}
return Home();
},
routes 文件在启动时被调用,因此路由器正在工作。
我的 Info.plist 有:
<key>FlutterDeepLinkingEnabled</key>
<true/>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>mydomain</string>
<key>CFBundleURLSchemes</key>
<array>
<string>my_invented_scheme</string>
</array>
</dict>
</array>
后端正在重定向到
my_invented_scheme://mydomain/login/eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNjUiLCJzY3AiOiJ1c2VyIiwiYXV…
浏览器询问是否应该打开我的应用程序。我点击确定。
然后……什么也没发生。我的应用程序出现在最前面,但根本没有调用路由器。所以当浏览器在前面时,我的应用程序停留在我显示的微调器上。
请指教!