[Flutter]アプリを強制終了させる方法(SystemNavigator.pop【Androidのみ】)

Flutterでは、「Navigator」というクラスが画面遷移の役割を担っており、Navigator.popメソッドを使うと、前の画面に戻ることができます。

ところが、自分以外の画面がない状態(上の画像でいうと「HomeScreen」のみが開いている状態)でこのNavigator.popメソッドを使うと、アプリが閉じるのかと思いきや、画面が真っ黒になってしまいます。

これは、画面(上記の例でいうとHomeScreen)が閉じられた段階で、アプリ全体を表すMyAppクラスが残るからです(下記画像の①の部分)。

では、アプリそのものを閉じたい(強制終了したい)場合はどうしたらいいのか言うと、Navigator.popメソッドではなく、SystemNavigator.popメソッドを使うことで実現できます。

 

ただし、これはAndroidのみで使えるメソッドで、iOSの場合は使えないようです。アプリの強制終了を禁じているAppleのガイドラインに違反するからだそうです。

On iOS, calls to this method are ignored because of Apple’s human interface guidelines state that applications should not exit themselves.

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

アバター

北川 博之(きーぼー)

みんなのプログラミング by Telulu LLC代表 大阪府生まれ。京都大学経済学部経済学科卒業。 2000年より、日本生命保険、ニッセイアセットマネジメント、パトナム・インベストメンツ(米国)で、日本株トレーダー・アナリスト、経営企画、システム開発等の業務に従事。主に日本株の売買執行・投資分析、経営計画の策定、海外投資家向け日本株営業、社内トレーディングシステム及び経理システムの開発等を行う。 2016年、合同会社てるる設立。スマホアプリプログラマーとして「新感覚脳トレアプリ・記憶戦隊オボエルンジャー」「Meisoー1番シンプルなマインドフルネス瞑想アプリ」をはじめとした、メンタルヘルス・知育系アプリを中心に4タイトル・計8本(Android・iOS)をリリース。 2017年、自身のこれまでの社会人経験・プログラミング経験・子育て経験を基に、プログラミングを通じて人々の人生を豊かにして、未来に希望の持てる明るい社会の実現に貢献したいとの想いから、プログラミング完全初心者と挫折経験のある人を支援する「プログラミング挫折撲滅プロジェクト・みんなのプログラミング by Telulu LLC」を設立し、プログラミングサポーター活動と心理カウンセリング活動を開始。これまでに3,000名を超える方のプログラミング挫折撲滅をサポート。

こんな記事も読まれています

みんプロにかける想い

  1. プログラミングは手段の1つに過ぎない(目的は自分のアイデアを形にすること)

  2. プログラミングはみんなのもの!(プログラミングの醍醐味である「楽しさ」を伝えたい)

  3. こんな無駄な苦労をするのはぼくで最後にしたい(ぼくがプログラミング講座をはじめたわけ)

  4. プログラミングを通じて「やわらかい世の中」を作りたい(ぼくがプログラミング講座をやっている本当の理由②)

  5. ぼくが別に言う必要のない挫折の黒歴史をあえてさらけ出している理由(自分の中にある「ブロック」を外すきっかけにしてほしい)

みんプロ作成アプリ




みんプロ代表の黒歴史


TOP