2016-06-09 3 views

ответ

0

первый импорт следующих двух пространств имен:

using namespace Windows::Phone::Devices::Notification; 

using namespace Windows::Foundation; 

Затем использовать функцию, как это:

void PlatformInterop::vibrateDevice(int duration) 
     { 
      VibrationDevice^ vib = VibrationDevice::GetDefault(); 
      if (vib != nullptr) 
      { 
       TimeSpan time; 
       // Convert from milliseconds to 1.0e-7 of a second, and limit to 5 seconds 
       time.Duration = min(duration*10000, 50000000); 
       vib->Vibrate(time); 
      } 
     } 

Это все, что вам нужно сделать.

+0

Ваши единицы не складываются: если 'time.Duration' действительно занимает наносекунды, вам нужно' 5000000000' вместо '50000000' (9 нулей вместо 7); и вам нужно умножить число 'duration' на' 1000000'. – mindriot

+0

Спасибо за упоминание об ошибке, но на самом деле я упомянул об этом неправильно в комментарии. Фактически, функция принимает аргументы в единицах 1.0e-7 секунд. Я тестировал его, и он работает для меня. –

Смежные вопросы