Windows Phone 8.1 VibrationDevice不能停止振动
本文关键字:不能 VibrationDevice Phone Windows | 更新日期: 2023-09-27 18:18:35
我在Windows Phone 8.1 XAML应用程序中发现了以下振动设备问题。
的代码var vibrationDevice = VibrationDevice.GetDefault();
vibrationDevice.Vibrate(TimeSpan.FromMilliseconds(50));
第一次被调用时,振动开始并且直到下一次调用才停止。下面的通话正常-电话震动一小段时间然后停止。
它在Lumia 920上以100%的通话率再现,在Lumia 930上以1%的通话率再现。可在WP 8.0和WP 8.1上复制
这是框架中的一个bug。我使用的是在与振动持续时间相同的延迟后在任务中取消它:
private const int DefaultVibrationDuration = 20;
if (this.EnableVibration)
{
VibrationDevice.GetDefault().Vibrate(TimeSpan.FromMilliseconds(DefaultVibrationDuration));
// Run task to cancel vibration (this is an error in phone framework where the vibration does
// not stop after running the first time)
Task.Run(async () =>
{
await Task.Delay(DefaultVibrationDuration);
VibrationDevice.GetDefault().Cancel();
});
}