我在 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 上重现
最佳答案
这是框架中的错误。我使用的是在与振动持续时间相同的延迟后在任务中取消它:
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();
});
}
关于c# - Windows Phone 8.1 VibrationDevice 不会停止振动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33238390/