cordova-plugin-vibration
此插件提供了一种使设备振动的方法。它的 API 与 W3C 振动规范 (http://www.w3.org/TR/vibration/) 一致。
该插件定义了一个全局对象/方法 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 level 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: 最大时间为 5000 毫秒 (5 秒),最小时间为 1 毫秒
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 不支持