cordova-plugin-vibration

Android Testsuite Chrome Testsuite iOS Testsuite Lint Test

此插件提供了一种使设备振动的方法。其 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 上不支持