移行先サイト
仕様がまったくつかめない。 Android,iOS,tabgroup,createwindowのurl使用の可否で動きが異なる。
open
focus
tabGroup.addEventListener('focus', function(event) { //ただしactiveTab自体も正常に拾えないこともありますので別のhackを使ってactiveTabもとる必要があるでしょう //またイベント名がfocusのままだと元々あるイベントとかぶるため2度呼ばれることになるので、イベント名を変えるなどの対応が必要です tabGroup.activeTab.window.fireEvent('focus', {}); });
blur
Tabに関連づけられたWindowの場合は、タブから外れるたびに呼ばれる。
メニューボタンでバックグランドに回った場合などには呼ばれない。
close
明示的にアプリを閉じた場合はcloseが呼ばれるが、強制終了の場合は呼ばれない。
メニューボタンでバックグランドに回った場合などには呼ばれない。
Androidはアプリを停止することができますが、停止しない場合はバックグラウンドに回ります。
正式ドキュメントではTi.Android.currentActivity.addEventListenerを使って“pause”,“resume”を使うように書いてありますが、 以下のドキュメントにあるように、実際2.02でも実際1度しか呼ばれません。
Android: Activity related events fire only once for tabgroup activity
Windowオブジェクトにイベントをつけるとキャッチすることができます。
if(Titanium.Platform.name == 'android') { window.activity.addEventListener('pause', function(e) {//バックエンド Ti.API.info("pause"); }); window.activity.addEventListener('resume', function(e) {//バックエンドから復帰 Ti.API.info("resume"); }); }