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