表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

95/210

補記⑧アプリ終了時のイベント

最初にごめんなさいしておきますが、モバイルアプリではうまく行かなかったです。


とは言え、なかなか興味深い話なので書いておきます。


前項でOnInitなるものが出ましたが、終了時に何かできないか?と思うのは当然かと思います。


ブラウザアプリでは、条件付きで以下の方法でうまく行きました。


"src\app\home\home.page.ts"

---------------------------------------------------------------

import { Component, OnInit , HostListener} from '@angular/core';


中略


 @HostListener('window:beforeunload', ['$event'])

  onWindowClose(event: any): void {

  // 終了時間をローカルストレージに書き出す

  const testDate = new Date(Date.now());

  testDate[Symbol.toPrimitive]('string');

  this.storage.set(this.strDestroyKey,String(testDate));


  event.preventDefault();

  event.returnValue = false;

 }

---------------------------------------------------------------


それで、この方法ですがブラウザアプリ側では(先ほども書いた通り)条件付きでは動作します。


皆様もたまに見たことがあると思いますが、この画面から移動しますか?と言うダイアログが出るあれです。


以下のサイトで納得したのですがユーザーが何か入力を行った時のみ出るんですね。


beforeunload のダイアログが出現しないことがある

https://www.bugbugnow.net/2022/01/beforeunload-dialog.html


先ほど、うっかり新規入力を画面遷移で消してしまった私としてはなろうでも実装して欲しい所ですが、実に勉強になりました。


ただし、ionicアプリをAndroidStudioで変換したAndroidアプリでは効果が出ませんでした。

(ミスしただけの可能性もある)


以上、昨日今日の新たな知見でした。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ