ハードウェアの戻るボタン
ハードウェアの戻るボタンは、ほとんどの Android デバイスにあります。ネイティブアプリケーションでは、これを使って、モデルを閉じたり、前のビューに移動したり、アプリを終了したりすることができる。既定値では、 戻るボタンを押すと、現在のビューがナビゲーションスタックからポップされ、前のビューが表示されます。ナビゲーションスタックに前のビューが存在しない場合は、何も起こりません。このガイドでは、ハードウェアの戻るボタンの動作をカスタマイズする方法について説明します。
ハードウェアの 「戻る」 ボタンとは Android デバイスの物理的な 「戻る」 ボタンのことであり、ブラウザの 「戻る」 ボタンや ion-back-button ボタンと混同しないでください。このガイドの情報は、Android デバイスにのみ適用されます。
概要
Ionic Framework は、サポートされている環境でユーザーがハードウェアの戻るボタンを押すと、ionBackButtonイベントを発行します。
ionBackButton イベントを監視して、起動するハンドラを登録できます。このハンドラは、アプリケーションの終了や確認ダイアログのオープンなどのアクションを実行できます。各ハンドラには優先順位を割り当てる必要があります。既定では、ハードウェアの戻るボタンを押すごとに 1 つのハンドラだけが起動されます。優先順位の値は、どのコールバックを呼び出すかを決定するために使用されます。これが便利なのは、モーダルを開いている場合、ハードウェアの戻るボタンを押したときにモーダルが閉じられたり、アプリが後方に移動したりしないようにしたいからです。一度に 1 つのハンドラだけを実行すると、モーダルを閉じることができますが、戻るにはハードウェアの戻るボタンをもう一度押す必要があります。
複数のハンドラを起動したい場合があります。各ハンドラのコールバックは、フレームワークに次のハンドラを呼び出すように指示するために使用できるパラメーターとして関数を渡します。
サポート
以下の表は、環境によってハードウェアの戻るボタンのサポートがどのように異なるかを示しています。
| Environment | Status |
|---|---|
| Capacitor | @capacitor/appパッケージがインストールされている場合のみサポートされます。 |
| Cordova | サポートされています |
| Browser | experimentalCloseWatcherがtrueで、プラットフォームが Close Watcher API をサポートしている場合のみサポートされます。 |
| PWA | experimentalCloseWatcherがtrueで、プラットフォームが Close Watcher API をサポートしている場合のみサポートされます。 |