如何解决当我从后台调用 CallbackHandler 时,如何访问 Flutter 应用程序上下文?
我构建了一个后台服务,当应用在后台使用时调用flutter函数
var callbackHandle = PluginUtilities.getCallbackHandle(backgroundHandler);
channel.invokeMethod('startService',callbackHandle.toRawHandle());
现在我想在调用此回调函数时查看警告对话框,但无法访问上下文,如何查看对话框或从 flutter 背景函数导航?
解决方法
如果 Flutter 应用程序实际上正在运行,您可以通过 navigatorKey
上的 MaterialApp
访问上下文。请注意,您所指的函数需要在 flutter 应用程序中的 dart 端。
final navigatorKey = GlobalKey<NavigatorState>();
Widget build(BuildContext context) {
return MaterialApp(
navigatorKey: navigatorKey
);
}
然后在 flutter 函数中,您可以通过 navigatorKey.currentState.context
或 navigatorKey.currentState.overlay.context
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。