Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

从原生页面跳转到Flutter页面A,再到Flutter页面B,B返回到A,A再返回时依然报错 #806

Closed
tianyingzhong opened this issue Jul 30, 2020 · 4 comments

Comments

@tianyingzhong
Copy link

[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: 'package:flutter/src/widgets/routes.dart': Failed assertion: line 1261 pos 12: 'scope != null': is not true.
#0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:42:39)
#1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:38:5)
#2 ModalRoute.willPop (package:flutter/src/widgets/routes.dart:1261:12)
#3 BoostContainerState.maybePop (package:flutter_boost/container/boost_container.dart:185:57)
#4 BoostContainerState.initState. (package:flutter_boost/container/boost_container.dart:163:32)
#5 BoostContainerState.performBackPressed (package:flutter_boost/container/boost_container.dart:175:25)
#6 ContainerCoordinator._onChannelEvent (package:flutter_boost/container/container_coordinator.dart:118:17)
#7 new ContainerCoordinator. (package:flutter_boost/container/container_coordinator.dart:44:13)
#8 new BoostChannel. (package:flutter_boost/channel/boost_channel.dart:46:14)
#9 MethodChannel._handleAsMethodCall (package:flutter/src/services/platform_channel.dart:409:55)
#10 MethodChannel.setMethodCallHandler. (package:flutter/src/services/platform_channel.dart:377:54)
#11 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:199:33)
#12 _invoke3. (dart:ui/hooks.dart:290:15)
#13 _rootRun (dart:async/zone.dart:1184:13)
#14 _CustomZone.run (dart:async/zone.dart:1077:19)
#15 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#16 _invoke3 (dart:ui/hooks.dart:289:10)
#17 _dispatchPlatformMessage (dart:ui/hooks.dart:164:5)

场景是:
从原生页面跳转到Flutter页面A,A进入页面B,B返回A,A页面按返回键报以上错误
说明一下,A页面在调用网络接口的时候使用了加载框,接口结束后有关闭加载框。

@tianyingzhong tianyingzhong changed the title 返回时依然报错 从原生页面跳转到Flutter页面A,再到Flutter页面B,B返回到A,A再返回时依然报错 Jul 30, 2020
@tianyingzhong
Copy link
Author

我试了把 assert(scope != null); 注释了,就可以正常返回了,加这个是为了干什么呢?

@OverRide
Future willPop() async {
final _ModalScopeState scope = _scopeKey.currentState;
// assert(scope != null);
for (final WillPopCallback callback in List.from(_willPopCallbacks)) {
if (!await callback())
return RoutePopDisposition.doNotPop;
}
return await super.willPop();
}

@bailiangjin
Copy link

同样遇到了该问题

@nightfallsad
Copy link
Collaborator

[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: 'package:flutter/src/widgets/routes.dart': Failed assertion: line 1261 pos 12: 'scope != null': is not true.
#0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:42:39)
#1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:38:5)
#2 ModalRoute.willPop (package:flutter/src/widgets/routes.dart:1261:12)
#3 BoostContainerState.maybePop (package:flutter_boost/container/boost_container.dart:185:57)
#4 BoostContainerState.initState. (package:flutter_boost/container/boost_container.dart:163:32)
#5 BoostContainerState.performBackPressed (package:flutter_boost/container/boost_container.dart:175:25)
#6 ContainerCoordinator._onChannelEvent (package:flutter_boost/container/container_coordinator.dart:118:17)
#7 new ContainerCoordinator. (package:flutter_boost/container/container_coordinator.dart:44:13)
#8 new BoostChannel. (package:flutter_boost/channel/boost_channel.dart:46:14)
#9 MethodChannel._handleAsMethodCall (package:flutter/src/services/platform_channel.dart:409:55)
#10 MethodChannel.setMethodCallHandler. (package:flutter/src/services/platform_channel.dart:377:54)
#11 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:199:33)
#12 _invoke3. (dart:ui/hooks.dart:290:15)
#13 _rootRun (dart:async/zone.dart:1184:13)
#14 _CustomZone.run (dart:async/zone.dart:1077:19)
#15 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#16 _invoke3 (dart:ui/hooks.dart:289:10)
#17 _dispatchPlatformMessage (dart:ui/hooks.dart:164:5)

场景是:
从原生页面跳转到Flutter页面A,A进入页面B,B返回A,A页面按返回键报以上错误
说明一下,A页面在调用网络接口的时候使用了加载框,接口结束后有关闭加载框。

发下flutter和boost版本

@nightfallsad
Copy link
Collaborator

[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: 'package:flutter/src/widgets/routes.dart': Failed assertion: line 1261 pos 12: 'scope != null': is not true.
#0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:42:39)
#1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:38:5)
#2 ModalRoute.willPop (package:flutter/src/widgets/routes.dart:1261:12)
#3 BoostContainerState.maybePop (package:flutter_boost/container/boost_container.dart:185:57)
#4 BoostContainerState.initState. (package:flutter_boost/container/boost_container.dart:163:32)
#5 BoostContainerState.performBackPressed (package:flutter_boost/container/boost_container.dart:175:25)
#6 ContainerCoordinator._onChannelEvent (package:flutter_boost/container/container_coordinator.dart:118:17)
#7 new ContainerCoordinator. (package:flutter_boost/container/container_coordinator.dart:44:13)
#8 new BoostChannel. (package:flutter_boost/channel/boost_channel.dart:46:14)
#9 MethodChannel._handleAsMethodCall (package:flutter/src/services/platform_channel.dart:409:55)
#10 MethodChannel.setMethodCallHandler. (package:flutter/src/services/platform_channel.dart:377:54)
#11 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:199:33)
#12 _invoke3. (dart:ui/hooks.dart:290:15)
#13 _rootRun (dart:async/zone.dart:1184:13)
#14 _CustomZone.run (dart:async/zone.dart:1077:19)
#15 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#16 _invoke3 (dart:ui/hooks.dart:289:10)
#17 _dispatchPlatformMessage (dart:ui/hooks.dart:164:5)

场景是:
从原生页面跳转到Flutter页面A,A进入页面B,B返回A,A页面按返回键报以上错误
说明一下,A页面在调用网络接口的时候使用了加载框,接口结束后有关闭加载框。

1.17.1-hotfixes分支已经提交了commit,稍后merge到1.22.4-hotfix分支

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants