私はUWPベースのキオスクアプリを開発していますが、x時間が経過した後に各ビューをホームページに戻したいと思います。これを達成するための最良の方法は何でしょうか?私は、各ページに非アクティブカウンターを開始させ、カウンターが一旦家に帰るようになると考えていました。思考?UWPアプリでホーム画面に戻る最良の方法
0
A
答えて
1
私は、各ページが非アクティブカウンタを開始し、カウンタが家に帰るために流れ落ちる一度
私はそれを行うには正しい方法だと思い有していると考えていました。
カウンタにはDispatcherTimer
を使用してください。
無活動をチェックするには、あなたはWindow.Current.CoreWindow.PointerPressed
、PointerMoved
、およびPointerReleased
とアプリのWindow.Current.CoreWindow
タッチとマウス入力上の様々なイベントでグローバルな入力を検出することができます。
キーボード入力:KeyUp
とKeyDown
(ソフトキー)とCharacterReceived
(&のテキスト候補で生成された文字の場合)。
DispatcherTimer dispatcherTimer;
public NewPage()
{
dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += dispatcherTimer_Tick;
dispatcherTimer.Interval = new TimeSpan(0, 0, 10);
dispatcherTimer.Start();
CheckIdle();
}
public void dispatcherTimer_Tick(object sender, object e)
{
dispatcherTimer.Tick -= dispatcherTimer_Tick;
dispatcherTimer.Stop();
Frame.Navigate(typeof(MainPage));
}
private void CheckIdle()
{
//Calling DispatcherTimer.Start() will reset the timer interval
Window.Current.CoreWindow.PointerMoved += (s, e) => dispatcherTimer.Start();
Window.Current.CoreWindow.PointerPressed += (s, e) => dispatcherTimer.Start();
Window.Current.CoreWindow.PointerReleased += (s, e) => dispatcherTimer.Start();
Window.Current.CoreWindow.PointerWheelChanged += (s, e) => dispatcherTimer.Start();
Window.Current.CoreWindow.KeyDown += (s, e) => dispatcherTimer.Start();
Window.Current.CoreWindow.KeyUp += (s, e) => dispatcherTimer.Start();
Window.Current.CoreWindow.CharacterReceived += (s, e) => dispatcherTimer.Start();
}
ページナビゲーションのための中心的なサービスにより、これは簡単に解決できます。ナビゲーションサービスの例はhttps://github.com/Microsoft/BikeSharing360_MobileApps/blob/master/src/BikeSharing.Clients.Core/Services/NavigationService.cs –