小编lin*_*ngo的帖子

dart/flutter 中的表情符号和重音编码

我从我的 api 获取下一个字符串

\n
"\xc3\x83 \xc3\x83\xc2\xa9 \xc3\x83\xc2\xad \xc3\x83\xc2\xb3 \xc3\x83\xc2\xba \xc3\x83\xc2\xbc \xc3\x83\xc2\xb1 \\uD83D\\uDE00\\uD83D\\uDE03\\uD83D\\uDE04\\uD83D\\uDE01\\uD83D\\uDE06\\uD83D\\uDE05"\n
Run Code Online (Sandbox Code Playgroud)\n

来自 json 格式的响应

\n
{\n    'apiText': "\xc3\x83 \xc3\x83\xc2\xa9 \xc3\x83\xc2\xad \xc3\x83\xc2\xb3 \xc3\x83\xc2\xba \xc3\x83\xc2\xbc \xc3\x83\xc2\xb1 \\uD83D\\uDE00\\uD83D\\uDE03\\uD83D\\uDE04\\uD83D\\uDE01\\uD83D\\uDE06\\uD83D\\uDE05",\n    'otherInfo': 'etc.',\n    .\n    .\n    .\n}\n
Run Code Online (Sandbox Code Playgroud)\n

它包含\xc3\x83 \xc3\x83\xc2\xa9 \xc3\x83\xc2\xad \xc3\x83\xc2\xb3 \xc3\x83\xc2\xba \xc3\x83\xc2\xbc \xc3\x83\xc2\xb1未正确编码的重音并且包含表情符号\\uD83D\\uDE00\\uD83D\\uDE03\\uD83D\\uDE04\\uD83D\\uDE01\\uD83D\\uDE06\\uD83D\\uDE05

\n

到目前为止我已经尝试过

\n
var json = jsonDecode(response.body)\nString apiText = json['apiText'];\nList<int> bytes = apiText.codeUnits;\ncomentario = utf8.decode(bytes);\n
Run Code Online (Sandbox Code Playgroud)\n

但产生一个

\n

[ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: FormatException: Invalid UTF-8 byte (at offset 21)

\n

如何获得带有重音符号和表情符号的正确文本?

\n

dart flutter

6
推荐指数
1
解决办法
5531
查看次数

flutter didChangeAppLifecycleState 从不运行

我实现了WidgetsBindingObserver,但该应用程序从未发送到后台,因此它无法识别AppLifecycleState.resumed

这是当前的实现


  @override
  void didChangeAppLifecycleState(AppLifecycleState state) async {
    print('\n\ndidChangeAppLifecycleState');
    switch (state) {
      case AppLifecycleState.resumed:
        print('\n\nresumed');
        _mymethod();
        break;
      case AppLifecycleState.inactive:
        print('\n\ninactive');
        break;
      case AppLifecycleState.paused:
        print('\n\npaused');
        break;
      case AppLifecycleState.detached:
        print('\n\ndetached');
        break;
    }
  }
Run Code Online (Sandbox Code Playgroud)

模拟我在android中做下一个的过程

  1. 将项目作为 --release 运行
  2. 打开小部件 WidgetsBindingObserver
  3. 打开另一个应用程序(如 Chrome 或手机设置)
  4. 返回应用程序

返回应用程序时,我可以在屏幕上看到我的小部件,该应用程序不会重新启动,但控制台上没有任何打印件出现,不会发生事件print('\n\ndidChangeAppLifecycleState');并且_mymethod();永远不会执行

dart flutter

3
推荐指数
1
解决办法
1176
查看次数

标签 统计

dart ×2

flutter ×2