Flutter 设备区域设置更改时重新启动应用程序?

Flutter 设备区域设置更改时重新启动应用程序?,flutter,dart,Flutter,Dart,我正在寻找一种在设备语言更改时重新启动应用程序的方法,是否有任何方法可以实现这一点您可以通过启动应用程序实例来实现,该实例将在应用程序自行关闭后重新打开您的应用程序 您可以尝试使用以下代码: System.Diagnostics.Process.Start( Application.ExecutablePath); // to start new instance of application this.Close(); 我找到了一种重新启动应用程序的方法,用一个小部件包装整个应用程序,然后设

我正在寻找一种在设备语言更改时重新启动应用程序的方法,是否有任何方法可以实现这一点

您可以通过启动应用程序实例来实现,该实例将在应用程序自行关闭后重新打开您的应用程序

您可以尝试使用以下代码:

System.Diagnostics.Process.Start( Application.ExecutablePath); // to start new instance of application
this.Close();

我找到了一种重新启动应用程序的方法,用一个小部件包装整个应用程序,然后设置他的状态。 我正在寻找一种方法来倾听语言环境的变化

class RestartWidget extends StatefulWidget {
  final Widget child;

  RestartWidget({this.child});

  static restartApp(BuildContext context) {
    final _RestartWidgetState state =
        context.ancestorStateOfType(const TypeMatcher<_RestartWidgetState>());
    state.restartApp();
  }

  @override
  _RestartWidgetState createState() => new _RestartWidgetState();
}

class _RestartWidgetState extends State<RestartWidget> {
  Key key = new UniqueKey();

  void restartApp() {
    this.setState(() {
      key = new UniqueKey();
    });
  }

  @override
  Widget build(BuildContext context) {
    return new Container(
      key: key,
      child: widget.child,
    );
  }
}

我找到了一种重新启动应用程序的方法,就是用statefull小部件包装整个应用程序,然后设置他的状态。现在,我正在寻找一种方法来倾听语言环境的变化。太好了!那么,我的回答不是在回答你的问题吗?您可以将其设置为“答案”,以便人们知道您已经找到了解决方法!
RestartWidget.restartApp(context)