cordova-plugin-vibration
此插件提供了一种使设备振动的方法。其 API 与 http://www.w3.org/TR/vibration/ 上的 W3C 振动规范一致。
该插件定义了一个全局对象/方法 navigator.vibrate
。虽然在全局范围内,但在 deviceready
事件之后才可用。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.vibrate);
}
安装
cordova plugin add cordova-plugin-vibration
支持的平台
- iOS
- Windows Phone
- Android
Android webview(API 级别 19 及更高版本)原生支持 W3C 振动 API,因此此插件中不需要任何 Android 特定的实现。
navigator.vibrate
此函数根据传递给它的参数具有三种不同的功能
标准振动
使设备振动指定的时间。
navigator.vibrate(time)
或
navigator.vibrate([time])
- time: 使设备振动的毫秒数。(数字)
示例
// Vibrate for 3 seconds
navigator.vibrate(3000);
// Vibrate for 3 seconds
navigator.vibrate([3000]);
怪癖
iOS 怪癖
-
time: 忽略指定的时间,并振动预设的时间。
navigator.vibrate(3000); // 3000 is ignored
Windows Phone 怪癖
-
time: 最大时间为 5000ms (5s),最小时间为 1ms
navigator.vibrate(8000); // will be truncated to 5000
Android 怪癖
如果用户尚未点击框架或任何嵌入式框架,则对
navigator.vibrate
的调用将立即返回false
。
参见 https://www.chromestatus.com/feature/5644273861001216
以模式振动
使设备以给定的模式振动
navigator.vibrate(pattern);
- pattern: 用于打开或关闭振动器的持续时间序列(以毫秒为单位)。(数字数组)
示例
// 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]);
怪癖
- iOS 上不支持
取消振动
立即取消任何正在运行的振动。
navigator.vibrate(0)
或
navigator.vibrate([])
或
navigator.vibrate([0])
传入参数 0、空数组或包含一个值为 0 的元素的数组将取消任何振动。
怪癖
- iOS 上不支持