Приложение WP7 (silverlight) продолжает отклоняться, потому что оно «не должно продолжать вибрировать в случае входящего телефонного звонка». Однако просто реагирование на событие Applicaton_Deactivated
не позволяет мне устранить проблему, так как этот метод не вызывается при входящем телефонном звонке ...Отключить DispatcherTimer при активном телефонном звонке на WP7
Проблемная вибрация осуществляется через 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);
Метод Tick:
private void vibrateRepatedly(object sender, EventArgs e)
{
vibrator.Start(vibrationSpan);
}
Вы можете показать нам код, который вы используете для запуска вибрации с помощью таймера отправки? –
Хорошо, добавлен код DispatcherTimer и вибрация. Btw, когда вызывается 'Application_Deactivated', я создаю' vibratorTimer.Stop() ', который работает с блокировкой устройства, но не с телефонными звонками. –