none
windows phone 8.1 Update中DispatcherTimer后台运行问题 RRS feed

  • 问题

  • 本人开发了一个计时器的小程序,做倒计时用的,在WP8.1的模拟器中运行可以在后台同步计算时间,但是部署到自己的手机上却没能在后台跑起来...

    private DispatcherTimer _timer = new DispatcherTimer();

            public PivotPage()
            {
                this.InitializeComponent();
                _timer.Interval = TimeSpan.FromSeconds(1);
                _timer.Tick += Timer_Tick;
            }

            private void Timer_Tick(object sender, object e)
            {
                TimeSpan runTime = _startTime - TimeSpan.Parse(DateTime.Now.ToString(@"hh\:mm\:ss"));
                if (runTime.CompareTo(TimeSpan.Parse("00:00:00:00")) == 0)
                    TimeStop();
                else
                    ShowTimeBlock.Text = runTime.ToString(@"hh\:mm\:ss");
            }

     private void StartButton_Click(object sender, RoutedEventArgs e)
            {
                if (_timer.IsEnabled)
                    _timer.Stop();
                else
                    _timer.Start();
            }

    请问应该怎样调整代码做到在手机后台运行

    2015年6月17日 7:44

答案

  • Hello Hubo1064,

    >>本人开发了一个计时器的小程序,做倒计时用的,在WP8.1的模拟器中运行可以在后台同步计算时间,但是部署到自己的手机上却没能在后台跑起来...

    根据你提供的代码, 我尝试建立一个Pivotapp然后分别部署到模拟器和WP8.1真机环境中,结果是两个环境都可以正确的进行一个倒计时的behavior。我建议,在你吧app部署到机器后,在Timer_Tick  方法里添加一个断点,看在调试的时候是否这个方法会被触发。

    或者你可以把你的project分享给我们。

    Regards.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年6月18日 10:02
    版主