[Flutter/Error] A KeyUpEvent is dispatched, but the state shows that the physical key is not pressed. エラー解決方法



How can I get a user's timezone based on location and create a DateTime() based on that timezone?

1.エラー内容

Another exception was thrown: A KeyUpEvent is dispatched, but the state shows that
the physical key is not pressed. If this occurs in real application, please report
this bug to Flutter. If this occurs in unit tests, please ensure that simulated
events follow Flutter's event model as documented in `HardwareKeyboard`. This was
the event: KeyUpEvent#f0ded(physicalKey: PhysicalKeyboardKey#7001e(usbHidUsage:
"0x0007001e", debugName: "Digit 1"), logicalKey: LogicalKeyboardKey#00031(keyId:
"0x00000031", keyLabel: "1", debugName: "Digit 1"), character: null, timeStamp:
5:10:55.895352)
TextFormにコンテンツを入力しようとしたときに突然エラーが発生しました.上記の誤り内容を一見するとKeyUpEventの関連内容と推測される.突然じゃないの?
要するに,この誤りに関する解決策は大きく2つある.
1.TextFormFieldに関連
2.flutter doctor -vで更新をチェック
しかし、上の2つは解決できません.TextFormField部品は最初から問題なく使用されており、特に触れていない場合は、上記のエラーが突然発生することはほとんどありません.
このように仮定して,誤りが発生した原因を探り,決定的な解決策を見つけた.
エラーが発生する前に、timezoneDateTime()メソッドを追加しました.LocalKeyboard、すなわちUKキーボードではないので、入力に問題がありました.

2.解決方法

toUTC()に変更されたタイムゾーンを現地時間(ソウル、UTC+9)に変更し、toUTC()に変更すると、エラーは消えた.
当初、ソウル時間/日付に合わせてtoLocal()パッケージを使用していたため、タイムスタンプをIntlに調整する過程で問題が発生したようだ.
しかし、誤った情報は突然の場所を指摘した.