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 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 不支援