アプリを再開する方法 (HTML)
[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]
システムが Windows ランタイム アプリを再開するときにコンテンツを更新する方法を説明します。
ユーザーが別のアプリまたはデスクトップに切り替えると、システムはアプリを中断します。ユーザーが元のアプリに戻すと、システムはアプリを再開します。システムがアプリを再開した時点では、変数とデータ構造の内容はシステムがアプリを中断する前の状態と同じです。システムはアプリを厳密に中断前の状態に復元するので、ユーザーからはアプリがバックグラウンドで実行していたように見えます。しかし、アプリは長時間中断されている場合があるので、ニュース フィードやユーザーの位置情報など、アプリが中断している間に変化した可能性のある表示コンテンツを更新する必要があります。
次の手順に、resuming に登録する方法と、このイベントを使って中断後に変化したコンテンツを更新する方法を示します。
手順
ステップ 1: resuming イベントに登録する
resuming イベントに登録します。このイベントは、アプリが中断された後で再開されたことを示します。
Windows.UI.WebUI.WebUIApplication.addEventListener("resuming", resumingHandler, false);
ステップ 2: 一時停止の後で表示されるコンテンツを更新する
アプリでは、resuming イベントを受け取った時点で、アプリが中断されている間に新しいものに変わった可能性のあるコンテンツを更新できます。
function resumingHandler() {
// TODO: Refresh network data
}
注釈
アプリに新しいものに変わった可能性のあるコンテンツがなく、更新の必要がない場合、アプリで resuming イベントを処理する必要はありません。
Microsoft Visual Studio によるデバッグに関する注意事項: アプリが Visual Studio のデバッガーにアタッチされている場合、そのアプリに再開イベントを送信できます。[デバッグの場所] ツール バーが表示されていることを確認し、[中断] アイコンの横のドロップダウンをクリックします。次に、[再開] をクリックします。
注
Windows Phone ストア アプリでは、アプリが現在中断中で、ユーザーがプライマリ タイルまたはアプリの一覧からアプリを再起動した場合でも、resuming イベントの後に、activated イベントが常に発生します。現在のウィンドウにコンテンツ セットが既にある場合、アプリは初期化をスキップすることがあります。LaunchActivatedEventArgs.TileId プロパティを調べると、アプリがプライマリ タイルとセカンダリ タイルのどちらから起動されたかを確認できます。また、その情報に基づいて、新しいアプリ エクスペリエンスを表示するか、アプリ エクスペリエンスを再開するかを決めることができます。
完全な例
アプリのライフサイクル イベントの処理方法を示したコード例の全体については、WinJS サンプルを使ったアプリのアクティブ化と中断に関するページと WinRT サンプルを使ったアプリのアクティブ化、再開、中断に関するページをご覧ください。
関連トピック
タスク
概念
ガイドライン
辞書/リファレンス