Flutter

[Flutter]WillPopScopeでAndroidの戻るボタンが押されたことを検知しない時の対処法

どうも、こんにちは。

WillPopScopeでAndroidの戻るボタンが押されたことを検知してくれなくて困ったことがあったので、解決法を記しておきます。

Androidの戻るボタンが押されたことをWillPopScopeで検知できない場合、僕の知っている限りでは二つほど原因が考えられます。

先に簡単に結論を述べると以下の通り。

WillPopScopeで検知できない原因
  • asyncをつけていない
  • MaterialAppが複数書かれている

というわけで一つずつ詳しく解説していきます。

asyncをつけていない

以下のようにonWillPop:() の後にasyncを付けないと検知してくれないです。

onWillPopに設定する処理の返り値はboolなので、そこも注意しましょう。

MaterialAppが複数書かれている

もう一つの原因としては、MaterialAppが複数書かれていることです。

こちらの原因でも、WillPopScopeを使っても戻るボタンを検知してくれなくなります。

というわけで、終わり。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です