silverlight - 在 WP7 上通话时禁用 DispatcherTimer

标签 silverlight windows-phone-7 windows-phone

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

有问题的振动是通过 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);
}

最佳答案

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

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

关于silverlight - 在 WP7 上通话时禁用 DispatcherTimer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16472961/

相关文章:

.net - 我的用例是否需要 XNA 或者我可以使用 silverlight (Windows Phone 7)?

angularjs - 将 Silverlight APP 转换为 HTML5 SPA – 工具和技术

silverlight - 将鼠标单击发送到silverlight 2中的按钮

silverlight - 两个应用程序(桌面和移动)之间的软件测试

silverlight - MVVM Light Nuget包中缺少SimpleIoc

visual-studio-2012 - Visual Studio部署错误

silverlight - 根据属性值更改 VisualState

c# - WP7 Silverlight Bing map - MapPolyline 不随 map 缩放或移动

c# - 如何在文本区域的文本末尾显示省略号 (...)?

windows-phone - 用 C# 编写 Windows Phone 运行时组件?