そのトピックで作成されたスレッドが見つからないことに驚いています。
Ionic 2にページのライフサイクルがあります NavController :_ionView[didLoad|didLeave|...]
_
そして Cordovaイベント があり、これはdocument.addEventListener("pause", onPause, false);
のように呼び出されることになっています。
Cordovaイベントを取得したい状況にあります。 Ionicページのライフサイクルは適切ではありません。デバイスがonResume
ステータスになったときにどのページが表示されても、私がやりたいことを行う必要があるからです。
私はまだ試していません。先に進み続けるためにここで良いリードを見つけたいと思っていたので、しかし私はdocument
は、Angular2、Ionic2からアクセスできず、おそらく説明されているようにwindow
にアクセスするためのサービスを追加する必要があります here 。
または、Ionic 2?のときにdocument.addEventListener(...)
にアクセスする他の既知の方法はありますか?
動作方法Ionic 2の詳細 ここ
基本的に、ページにPlatform
インスタンスを挿入し、pause
イベントエミッターをサブスクライブする必要があります。
import { Component } from '@angular/core';
import { Subscription } from 'rxjs';
import { Platform } from 'ionic-angular';
@Component({...})
export class AppPage {
private onResumeSubscription: Subscription;
constructor(platform: Platform) {
this.onResumeSubscription = platform.resume.subscribe(() => {
// do something meaningful when the app is put in the foreground
});
}
ngOnDestroy() {
// always unsubscribe your subscriptions to prevent leaks
this.onResumeSubscription.unsubscribe();
}
}
また、Ionic2ページのコンストラクターメソッドからdocument.addEventListenerを取得することもできました。
document.addEventListener("pause", function() {
// do something
}, true);
document.addEventListener("resume", function() {
// do something
}, true);