Cordovaのアプリを開発中、プログラムからアプリを終了させる処理を行いたかったので、やり方を調べました。
が、結局アプリを終了しない処理で落ち着いたんですけどね。
今回参考にさせていただいたサイトはこちら。
monaca(cordova)でアプリを終了させる(Androidのみ)
https://blog.mitsuto.com/cordova-exit
で、アプリを終了させる処理は、実はこれだけ。
// アプリを終了する navigator.app.exitApp();
アプリを終了させたいタイミングで、上記の一行を書くだけです!
思ったよりも簡単でした。
ですが、この処理は iOS では動作しません。
なので、下記のプラグインをインストールする必要があります。
GitHub – FRD49/iOS-ExitApp: navigator.app.exitApp() on iOS
https://github.com/FRD49/iOS-ExitApp
インストールするときは、下記を実行します。
// iOS-ExitApp のインストール cordova plugin add com.frd49.cordova.exitApp // 上のコマンドがエラーになる場合はこちらを実行 cordova plugin add https://github.com/FRD49/iOS-ExitApp.git
プラグインをインストールする時にエラーが発生した場合は、下のコマンドを実行してください。
私の環境では、上のコマンドではインストール元が見つからないとかで失敗しました。
プラグインの追加が完了したら、アプリを再ビルドして、実機で実行すればOKです。
これで、iOS でも「navigator.app.exitApp();」を使ってアプリを終了できるようになります。
以上、プログラムからアプリを終了させる方法でした。
が、確かにアプリは終了できるのですが、終了時の挙動が強制終了の時と似ている、というか同じなので、終了する前に「アプリを終了しますか?」の確認ダイアログは必須ですね。