MaterialApp有onUnknownRoute、onGenerateRoute用于在路由切换时回调,因为MaterialApp使用的是如下代码跳转
Navigator.pushNamed(context, routeName)
但是GetMaterialApp则不会触发onUnknownRoute、onGenerateRoute,因为其使用的是Get.to函数,代码如下
Get.toNamed(page)
这个是我在处理Flutter android端,外部浏览器通过scheme打开app时,会默认触发路由问题的过程中发现的。那像Get拦截这类路由,可以使用Getx中间件的形式,在跳转到unknownRoute页面之前,根据外部链接判断具体的拦截策略