0

iOS から WinRT/8 Metro/8 Immersive/現在の名前が何であれ、アプリの移植に取り組んでいます。

iOS では、ユーザーがアプリを離れるたびにアプリを実際に終了させるように設定Application does not run in backgroundする機能があります。YES

この動作を WinRT で再現する方法を見つけたいと思います。

  1. はい、これが異常な動作であることは理解しています。
  2. はい、私はこれを熟考しました。
  3. はい、これを行うには非常に正当な理由があります。

イベント中にuserLeavingAppを呼び出すだけApplication.Current.Exit()だと思いますが、イベントが見つからないようですuserLeavingApp。App.xaml.vb で (Handles Me.Suspending)を使用することを考えOnSuspendingましたが、それは私にとって十分に速く呼び出されないようです。

viewWillDisappearまたは何かに相当する.NETはありますか?

何か案は?これは私のアプリの重要なセキュリティ特性であり、このような小さな問題のためにプラットフォーム全体でこのような問題が発生するのは嫌です.

ありがとう!

4

2 に答える 2

1

私は実際に Application.Current.Exit() が OnSuspending で動作しているとは見ていません。あなたが言及したように、サスペンドはあなたにとって十分な速さで起こっていませんが(これは設計によるものです)。そこで例外をスローしてもうまくいきませんでした。

Window.VisibilityChangedがあり、そこで Exit/Exception を発行すると、別のアプリが引き継ぐときにアプリをシャットダウンします。とはいえ、VisibilityChanged は他の状況でも発生するため、すべてのシナリオをカバーできるかどうか、またはそれらが変化しないことに依存できるかどうかはわかりません。 もう少しコンテキストについては、こちらを参照してください。

@Filip の回答が飛び込んできたのと同じように、あなたが認定に合格する可能性は非常に低いです。Exit() 呼び出しは、例外に等しいです。

于 2013-02-08T19:01:00.600 に答える
0

を呼び出した場合、アプリは認証に合格しないと思いますApplication.Current.Exit()。本当に自信があるなら、試してみる価値はあると思います。ただし、終了時にメモリ/CPUを使用するものはすべてアンロードできます。

于 2013-02-08T18:39:19.610 に答える