0
0

Flutter で Android のナビゲーションホームボタンと同じようにホーム画面に戻る処理を実装する

Posted at

なにこれ

  • 戻るボタンを無効化したけど、戻るボタンで色々処理をさせたい時があった
  • その時、前画面に戻るだけでなく、最上位の画面なら pop せずにアプリをバックグラウンドに行かせて、ホーム画面に行く処理を実装したいと思った
  • 以前書いた戻るボタン無効化の記事は以下

解決方法

move_to_background パッケージをインストールする

パッケージ公式ガイドはこちら

インストールコマンドはこちら

flutter pub add move_to_background

yaml に直接書く場合はこちら(バージョンは後述の公式ページにあるバージョンを参照してください)

pubspec.yaml
dependencies:
  move_to_background: ^1.0.2

onPopInvoked を実装

戻るボタンがタップされた時に onPopInvoked で判定して、MoveToBackground.moveTaskToBack() を実行させるとアプリをバックグラウンドに移動させてデバイスのホーム画面に戻ることができます。

import 'package:move_to_background/move_to_background.dart';
...
  PopScope(
    canPop: false,
    onPopInvoked: (bool didPop) async {
      if (!didPop) {
        MoveToBackground.moveTaskToBack();
      }
    },

パッケージのリポジトリ

おわりに

2024年8月にこの記事書いているのですが、公式ページ見ると3年以上メンテナンスされていない様子…
いつか自作するしかないのかしら。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0