commit | 39ea936b10585ea8bea41aeecd13fddfbfa08d6b | [log] [tgz] |
---|---|---|
author | Rob Paveza <Rob.Paveza@microsoft.com> | Tue Apr 28 17:36:07 2015 -0700 |
committer | Rob Paveza <Rob.Paveza@microsoft.com> | Fri May 01 10:21:21 2015 -0700 |
tree | 1734a3c103011e053997fd9f1fd16c8410a90c04 | |
parent | 9c98b92c2f2958696e95294dc985e74f3bd9faa0 [diff] |
CB-8930: Vibration on Windows fails without a helpful error message when vibration functionality is missing from the platform. This detects such a case and instead fails gracefully that the feature isn't available. Also supports the Windows 10 vibration mechanism. Incorporated CR feedback (thanks @purplecabbage and @nikhilkh)
This plugin aligns with the W3C vibration specification http://www.w3.org/TR/vibration/
This plugin provides a way to vibrate the device.
This plugin defines global objects including navigator.vibrate
.
Although in the global scope, they are not available until after the deviceready
event.
document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { console.log(navigator.vibrate); }
cordova plugin add cordova-plugin-vibration
navigator.vibrate,
navigator.notification.vibrate
navigator.notification.vibrateWithPattern
navigator.notification.cancelVibration
This function has three different functionalities based on parameters passed to it.
###Standard vibrate
Vibrates the device for a given amount of time.
navigator.vibrate(time)
or
navigator.vibrate([time])
-time: Milliseconds to vibrate the device. (Number)
####Example
// Vibrate for 3 seconds navigator.vibrate(3000); // Vibrate for 3 seconds navigator.vibrate([3000]);
####iOS Quirks
time: Ignores the specified time and vibrates for a pre-set amount of time.
navigator.vibrate(3000); // 3000 is ignored
####Windows and Blackberry Quirks
time: Max time is 5000ms (5s) and min time is 1ms
navigator.vibrate(8000); // will be truncated to 5000
###Vibrate with a pattern (Android and Windows only) Vibrates the device with a given pattern
navigator.vibrate(pattern);
####Example
// Vibrate for 1 second // Wait for 1 second // Vibrate for 3 seconds // Wait for 1 second // Vibrate for 5 seconds navigator.vibrate([1000, 1000, 3000, 1000, 5000]);
####Windows Phone 8 Quirks
####Windows Quirks
###Cancel vibration (not supported in iOS)
Immediately cancels any currently running vibration.
navigator.vibrate(0)
or
navigator.vibrate([])
or
navigator.vibrate([0])
Passing in a parameter of 0, an empty array, or an array with one element of value 0 will cancel any vibrations.
Vibrates the device for a given amount of time.
navigator.notification.vibrate(time)
// Vibrate for 2.5 seconds navigator.notification.vibrate(2500);
time: Ignores the specified time and vibrates for a pre-set amount of time.
navigator.notification.vibrate(); navigator.notification.vibrate(2500); // 2500 is ignored
Vibrates the device with a given pattern.
navigator.notification.vibrateWithPattern(pattern, repeat)
// Immediately start vibrating // vibrate for 100ms, // wait for 100ms, // vibrate for 200ms, // wait for 100ms, // vibrate for 400ms, // wait for 100ms, // vibrate for 800ms, // (do not repeat) navigator.notification.vibrateWithPattern([0, 100, 100, 200, 100, 400, 100, 800]);
Immediately cancels any currently running vibration.
navigator.notification.cancelVibration()
*Note - due to alignment with w3c spec, the starred methods will be phased out