Flutter/Androidの戻るボタン無効化する方法

Flutterでスマホアプリを作成する場合、OS毎に挙動が違う点を考慮に入れながら開発をする必要があります。

相違点としてはバックボタンの有無です。Android端末にはiOSと違いバックボタンが存在します。
このボタンはアプリとして適切に実装すれば有用な機能ですが、場合によっては無効化したい時もあります。
今回はFlutterでAndroidの戻るボタンを無効化する方法を記載します。

Androidでバックボタンを押下した時に稼働するのはonBackPressedイベントです。
今回はFlutterでスマホアプリを作成しているので相当するClassを利用する必要があります。

Flutterでバックボタンを検知するには WillPopScope Classを利用します。
onWillPopの戻り値をfalseにすれば無効化できます。

サンプル実装(押しても反応しない、無効化されたバックボタン)

@override
Widget build(BuildContext context) {
  return WillPopScope(
    onWillPop: () async {
      return false;
    }
  );
}
comments powered by Disqus