2

我的 WP7(silverlight)应用程序不断被拒绝,因为它“在来电的情况下不应继续振动”。但是,仅对Applicaton_Deactivated事件做出反应并不能解决问题,因为来电时不会调用此方法...

有问题的振动是通过 a 完成的DispatcherTimer,它在电话后面一直在后台运行。将执行移到主线程并没有改变任何东西。

应用程序是否会在电话后继续正常运行?或者有什么办法可以停止震动?

振动器和定时器的初始化:

vibrator = VibrateController.Default;
vibratorTimer = new DispatcherTimer();
vibratorTimer.Tick += new EventHandler(vibrateRepatedly);
vibratorTimer.Interval = new TimeSpan(0, 0, 0, 0, UIConstants.VIBRATION_INTERVAL);
vibrationSpan = new TimeSpan(0, 0, 0, 0, UIConstants.VIBRATION_DURATION);

打勾方法:

private void vibrateRepatedly(object sender, EventArgs e)
{
    vibrator.Start(vibrationSpan);
}
4

1 回答 1

6

在来电期间Obscured event被呼叫而不被呼叫Application_Deactivated event。您将在应用程序中收到一个被遮挡的事件,但您无法区分这是由于来电、来电短信还是提醒。

是您获得的 Obscured 事件的 MSDN 文档的链接。有相应的Unobscured event也可以检测。

于 2013-05-10T19:02:43.430 回答