【问题标题】:Error when I press Altright in my Flutter web application在 Flutter Web 应用程序中按 Altright 时出错
【发布时间】:2021-03-04 14:34:51
【问题描述】:

我的 Flutter Web 应用程序工作正常,但是如果我按键盘上的 Alt-Right 键,我会收到以下错误:

    ═════ Exception caught by services library ══════════════════════════════════
The following assertion was thrown during a platform message callback:
"Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key event being sent doesn't properly set its modifier flags. This was the event: RawKeyDownEvent#82566(logicalKey: LogicalKeyboardKey#b3481(keyId: \"0x1000700e6\", keyLabel: \"\", debugName: \"Alt Right\"), physicalKey: PhysicalKeyboardKey#700e6(usbHidUsage: \"0x000700e6\", debugName: \"Alt Right\")) and its data: RawKeyEventDataWeb(keyLabel: AltGraph, code: AltRight, metaState: 0, modifiers down: {})"
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 216:49  throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 24:3    assertFailed
packages/flutter/src/services/raw_keyboard.dart 617:54                                                                     _handleKeyEvent
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:12           _async
...
════════════════════════════════════════════════════════════════════════════════

然后我的应用程序继续运行而没有错误,但每次按下 Alt-Right 按钮时都会出现相同的错误。如果我在 TextField 内书写时按下它,但即使我在没有文本字段聚焦时按下它也会发生这种情况。

这是我的“颤振医生 -v”输出:

[√] Flutter (Channel beta, 1.23.0-18.1.pre, on Microsoft Windows [Versione 10.0.18363.1198], locale it-IT)
    • Flutter version 1.23.0-18.1.pre at C:\flutter
    • Framework revision 198df796aa (5 weeks ago), 2020-10-15 12:04:33 -0700
    • Engine revision 1d12d82d9c
    • Dart version 2.11.0 (build 2.11.0-213.1.beta)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\franc\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS Code (version 1.51.1)
    • VS Code at C:\Users\franc\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.16.0

[√] Connected device (3 available)
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome 87.0.4280.66
    • Edge (web)       • edge       • web-javascript • Microsoft Edge 86.0.622.69

• No issues found!

这是我的颤振“run -d chrome --verbose”输出(你可以看到我得到的错误):

[ +155 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +89 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +2 ms] 198df796aa80073ef22bdf249e614e2ff33c6895
[   +1 ms] executing: [C:\flutter/] git tag --points-at HEAD
[  +91 ms] Exit code 0 from: git tag --points-at HEAD
[   +1 ms] 1.23.0-18.1.pre
[  +18 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +62 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +2 ms] origin/beta
[   +1 ms] executing: [C:\flutter/] git ls-remote --get-url origin
[  +51 ms] Exit code 0 from: git ls-remote --get-url origin
[   +2 ms] https://github.com/flutter/flutter.git
[  +91 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[  +73 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +2 ms] beta
[  +81 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +74 ms] executing: C:\Users\franc\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +69 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +95 ms] executing: C:\Users\franc\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +56 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.14.3\
[  +11 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.2.1\
[  +13 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.18.3\
[   +6 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.3.2\
[   +4 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.2\
[   +5 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.2.1\
[ +161 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.14.3\
[   +7 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.2.1\
[   +6 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.18.3\
[   +6 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.3.2\
[   +5 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.2\
[   +3 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.2.1\
[  +39 ms] Generating
C:\Users\franc\AndroidStudioProjects\todolist\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.jav
a
[  +49 ms] List of devices attached
[ +106 ms] Launching lib\main.dart on Chrome in debug mode...
[  +36 ms] List of devices attached
[ +142 ms] Updating assets
[ +132 ms] Syncing files to device Chrome...
[  +14 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.14.3\
[   +3 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.2.1\
[   +7 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.18.3\
[   +3 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.3.2\
[   +2 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.2\
[   +3 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.2.1\
[  +30 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.14.3\
[   +5 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.2.1\
[   +7 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.18.3\
[   +4 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.3.2\
[   +2 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.2\
[   +4 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.2.1\
[  +25 ms] Generating
C:\Users\franc\AndroidStudioProjects\todolist\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.jav
a
[ +114 ms] <- reset
[  +12 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\flutter\bin\cache\flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names
--experimental-emit-debug-metadata -Ddart.developer.causal_async_stacks=true --output-dill
C:\Users\franc\AppData\Local\Temp\flutter_tools.4b32dabd\flutter_tool.c33e31c6\app.dill --libraries-spec
file:///C:/flutter/bin/cache/flutter_web_sdk/libraries.json --packages .packages -Ddart.vm.profile=false
-Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
C:\Users\franc\AppData\Local\Temp\flutter_tools.4b32dabd\flutter_tools.43ac9e91 --filesystem-scheme org-dartlang-app
--initialize-from-dill build\cache.dill.track.dill --platform
file:///C:/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
[  +11 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+22652 ms] Syncing files to device Chrome... (completed in 22.886ms, longer than expected)
[   +7 ms] Synced 29.8MB.
[   +2 ms] <- accept
[   +3 ms] Caching compiled dill
[ +397 ms] Using Apertura nella sessione del browser esistente.

[ +501 ms] [CHROME]:
[  +11 ms] [CHROME]:DevTools listening on ws://127.0.0.1:58721/devtools/browser/ddefd0a4-705a-4017-875f-6c99bdfa0ff8
[+8098 ms] Debug service listening on ws://127.0.0.1:58762/BArWG_PTDv4=

[ +318 ms] Debug service listening on ws://127.0.0.1:58762/BArWG_PTDv4=
[   +5 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[   +1 ms] been thoroughly tested in production environments.
[   +1 ms] For more information see https://flutter.dev/web
[   +2 ms]   To hot restart changes while running, press "r" or "R".
[   +2 ms] For a more detailed help message, press "h". To quit, press "q".
**[+5640 ms] ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
[   +8 ms] The following assertion was thrown during a platform message callback:
[   +1 ms] Assertion failed: file:///C:/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:617:12
[   +2 ms] event is! RawKeyDownEvent || _keysPressed.isNotEmpty
[   +1 ms] "Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
[   +1 ms] event being sent doesn't properly set its modifier flags. This was the event:
[   +1 ms] RawKeyDownEvent#841c7(logicalKey: LogicalKeyboardKey#b3481(keyId: \"0x1000700e6\", keyLabel: \"\",
[   +1 ms] debugName: \"Alt Right\"), physicalKey: PhysicalKeyboardKey#700e6(usbHidUsage: \"0x000700e6\",
[   +3 ms] debugName: \"Alt Right\")) and its data: RawKeyEventDataWeb(keyLabel: AltGraph, code: AltRight,
[   +1 ms] metaState: 0, modifiers down: {})"
[   +2 ms] When the exception was thrown, this was the stack:
[   +1 ms]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart
           216:49  throw_
[   +2 ms]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 24:3
           assertFailed
[   +4 ms] packages/flutter/src/services/raw_keyboard.dart 617:54
           _handleKeyEvent
[   +1 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
84:54
           runBody
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
123:12
           _async
[   +1 ms] packages/flutter/src/services/raw_keyboard.dart 594:34
           [_handleKeyEvent]
[   +3 ms] packages/flutter/src/services/platform_channel.dart 74:49
           <fn>
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
84:54
           runBody
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
123:12
           _async
[   +2 ms] packages/flutter/src/services/platform_channel.dart 73:58
           <fn>
[   +3 ms] packages/flutter/src/services/binding.dart 283:33
           handlePlatformMessage
[   +1 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
84:54
           runBody
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart
123:12
           _async
[   +2 ms] packages/flutter/src/services/binding.dart 274:37
           handlePlatformMessage
[   +3 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/window.dart 869:13
           _invoke3
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/window.dart 459:5
           invokeOnPlatformMessage
[   +2 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/keyboard.dart 138:12
           [_handleHtmlEvent]
[   +1 ms] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/keyboard.dart 39:7
           <fn>
[   +3 ms]** ════════════════════════════════════════════════════════════════════════════════════════════════════

【问题讨论】:

    标签: firebase flutter keyboard flutter-web


    【解决方案1】:

    似乎这个问题仍然存在。我不知道如何真正修复它,但我设法发现它为开发人员所知,并且 a supposed fix 在 1 月份被合并。

    就在昨天(我们真幸运),related issue 再次解锁,因为他们注意到问题实际上并没有完全解决。

    我希望很快会有一个可行的修复程序,因为它也会影响我公司的一个项目。一旦我有任何更新,我将编辑此答案,希望将来能提供更多帮助。

    在那之前,我们尽我们所能。

    和平相处

    编辑:TL;已发布链接的 DR。

    第一个链接是一个合并提交,据说通过链接键来修复 Alt Right 问题。

    第二个链接是在 Flutter 存储库中提交的与此错误相关的问题之一。

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    • @MousamSingh 谢谢你的提示,我会编辑答案。
    猜你喜欢
    • 2021-08-25
    • 2021-06-28
    • 1970-01-01
    • 2021-11-07
    • 2021-08-26
    • 2020-10-23
    • 2020-07-13
    • 2019-01-18
    • 2022-10-14
    相关资源
    最近更新 更多