ユーザーがアプリケーションに費やした合計時間を分離ストレージに保存する必要があります。
実行開始時刻と実行終了時刻を知っておくべきだと思います。
何かいい方法があればお願いします..
ありがとう..
ユーザーがアプリケーションに費やした合計時間を分離ストレージに保存する必要があります。
実行開始時刻と実行終了時刻を知っておくべきだと思います。
何かいい方法があればお願いします..
ありがとう..
App.xaml.cs ファイルには、実行モデルに直接関連するいくつかのメソッドがあります。
このメソッドをフックして、実際には非常に簡単な必要なロジックを提供できます。
spentTime
ます。spentTime
しState
ます。State
て、さらに取得できるようにします。spentTime
て分離ストレージに保存します。
WP 実行モデルを理解するための便利なリンク:
AnatoliiG の回答に追加するには、DispaterTimerクラスを使用して時間を計算できます。DateTime.Now を使用してユーザーがアプリを使用している時間を計算する場合は注意が必要です。これは、悪い値が得られる時期があるためです。
private _DispatcherTimer _timer;
private int _spentTime;
public Application()
{
_timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1) };
_timer.Tick += TimerTick;
}
TimerTick(object s, EventArgs args)
{
_spentTime++;
}
次に、AnatoliG の例に従って、さまざまなイベントに費やす時間を節約します。
private void Application_Launching(object sender, LaunchingEventArgs e)
{
_timer.Start();
// Should probably have some logic to determine if they tombstoned the app
// and did not actually leave the app, if so then save that time
}
private void Application_Activated(object sender, ActivatedEventArgs e)
{
_timer.Start();
// Restore _spentTime
}
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
_timer.Stop();
// Store _spentTime
}
private void Application_Closing(object sender, ClosingEventArgs e)
{
// Save time, they're done!
}