メトロ スタイル アプリケーションを終了するコードはありますか? C#、C++、または VB では、次のような例がありCoreApplication.Exit()
ますが、Javascript ではそのようなものを見つけることができませんでした。
3 に答える
一般的な推奨事項は、アプリが独自のクローズ アフォーダンスを提供しないことです。あなたの例では、ネットワーク接続の喪失に応じて自動的に閉じると、そのような条件下でアプリがクラッシュしたように見えます。そのため、実際にはその時点で Windows ストアの認定に合格しない場合があります (予期せず終了するアプリについては、要件、セクション 3.2 を参照してください)。さらに、セクション 3.6 では、既に述べたようにアプリ自体を閉じることを禁止しているため、これにも失敗します。
window.close を呼び出すと、Windows ストア ダッシュボード内に表示されるクラッシュ レポートが生成され、実際にはアプリのクラッシュとしてログに記録されます (これは、ストア内のアプリに対してカウントされる可能性があります。それについてはわかりませんが、危険を冒さないでください)。この場合、MSApp.terminateApp を使用することをお勧めします。これは、クラッシュ レポートがより包括的になるためです (独自の情報を含めることもできます)。それでも、MSApp.terminateApp は、本当に回復不能な状況でのみ使用する必要があります。
ネットワーク接続の喪失など、アプリが効果的に実行し続けることができないが、それ自体がクラッシュではない状態がある場合は、ユーザーにその状態を通知し、終了するかどうかを決定させることをお勧めします。 (Alt + F4 またはトップダウン スワイプ クローズ ジェスチャを使用して) アプリを応答します。また、ソースのネットワーク接続が復元され、続行されたことを検出する必要があります。このようにして、アプリはその状態を失うことなく、中断したところから続行できるため、連続したユーザー エクスペリエンスが提供されます。
Metro スタイル アプリのアプリケーション ライフサイクルには、明示的な「終了」は実際にはありません。
通常、ユーザーはアプリを閉じる必要はなく、Windows にアプリを管理させることができます。ただし、ユーザーは閉じるジェスチャを使用するか、Alt + F4 キーを押してアプリを閉じることを選択できます。ユーザーがアプリを閉じることができるようにするための UI をアプリに含めることはできません。そうしないと、Store 認定プロセスに合格しません。
中断と再開を正しく処理し、ユーザーがアプリケーションの明示的な終了を制御できるようにする必要があります (Windows 8 には Metro スタイル アプリを閉じるためのジェスチャーがあり、ボタンのような視覚的なアフォーダンスを提供する必要はありません)。
関数を呼び出すことができますMSApp.terminateApp
。詳細はこちら: http://msdn.microsoft.com/pl-pl/library/windows/apps/hh770781.aspx