以前に Windows Phone 8.1 用のタイマーおよびストップウォッチ アプリを作成しましたが、バックグラウンドまたはロック画面の背後で実行されません。私は現在、Windows 10 ユニバーサル アプリ用にこれを更新しており、これらの機能を実装するためにいくつかの助けを借りることができます。
1 に答える
3
これをバックグラウンド タスクで実行したくなるかもしれませんが、単純な問題の場合、これは非常に手間がかかります。
私がお勧めするのは、記録を開始したときの DateTime を記録することです。
DateTime _startDateTime;
void Start()
{
_startDateTime = DateTime.Now;
}
DispatcherTimer
次に、x ミリ秒ごとにメソッドを実行する通常のタイミング コード (おそらく を使用) を実行します。
void UpdateTime()
{
TimeSpan totalTime = DateTime.Now.Subtract(_startDateTime);
// Update UI
}
ここで、ユーザーがアプリを最小化すると、コードの実行が停止しますが、戻ったときに、数学でUpdateTime()
は の絶対値が使用されるため、最小化されていた時間が_startDateTime
1 時間か 1 週間かは関係ありません。UpdateTime()
経過時間を正しく計算します。彼らが電話の時間を最小化して変更しない限り、それについてできることはあまりありません;-)。
于 2015-09-02T22:19:37.187 に答える