Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apache/cordova-plugin-vibration
Apache Cordova Vibration Plugin
https://github.com/apache/cordova-plugin-vibration
android cordova hacktoberfest ios java javascript library mobile nodejs objective-c
Last synced: 5 days ago
JSON representation
Apache Cordova Vibration Plugin
- Host: GitHub
- URL: https://github.com/apache/cordova-plugin-vibration
- Owner: apache
- License: apache-2.0
- Created: 2013-06-22T07:00:18.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-26T03:56:04.000Z (2 months ago)
- Last Synced: 2024-12-13T09:03:30.920Z (12 days ago)
- Topics: android, cordova, hacktoberfest, ios, java, javascript, library, mobile, nodejs, objective-c
- Language: JavaScript
- Homepage: https://cordova.apache.org/
- Size: 754 KB
- Stars: 127
- Watchers: 23
- Forks: 131
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
---
title: Vibration
description: Vibrate the device.
---# cordova-plugin-vibration
[![Android Testsuite](https://github.com/apache/cordova-plugin-vibration/actions/workflows/android.yml/badge.svg)](https://github.com/apache/cordova-plugin-vibration/actions/workflows/android.yml) [![Chrome Testsuite](https://github.com/apache/cordova-plugin-vibration/actions/workflows/chrome.yml/badge.svg)](https://github.com/apache/cordova-plugin-vibration/actions/workflows/chrome.yml) [![iOS Testsuite](https://github.com/apache/cordova-plugin-vibration/actions/workflows/ios.yml/badge.svg)](https://github.com/apache/cordova-plugin-vibration/actions/workflows/ios.yml) [![Lint Test](https://github.com/apache/cordova-plugin-vibration/actions/workflows/lint.yml/badge.svg)](https://github.com/apache/cordova-plugin-vibration/actions/workflows/lint.yml)
This plugin provides a way to vibrate the device. Its API aligns with the W3C vibration specification at http://www.w3.org/TR/vibration/
The plugin defines a global object/method `navigator.vibrate`. Although in the global scope, it is not available until after the `deviceready` event.
```javascript
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.vibrate);
}
```## Installation
```console
cordova plugin add cordova-plugin-vibration
```## Supported Platforms
- iOS
- Windows Phone
- Android
The Android webview (API level 19 and up) supports the [W3C Vibration API](https://www.w3.org/TR/vibration/) natively, so no Android specific implementation in this plugin is necessary.## navigator.vibrate
This function has three different functionalities based on parameters passed to it:
### Standard vibrate
Vibrates the device for a given amount of time.
```javascript
navigator.vibrate(time)
```
or
```javascript
navigator.vibrate([time])
```- __time__: Milliseconds to vibrate the device. _(Number)_
#### Example
```javascript
// Vibrate for 3 seconds
navigator.vibrate(3000);// Vibrate for 3 seconds
navigator.vibrate([3000]);
```#### Quirks
##### iOS Quirks
- __time__: Ignores the specified time and vibrates for a pre-set amount of time.
```javascript
navigator.vibrate(3000); // 3000 is ignored
```##### Windows Phone Quirks
- __time__: Max time is 5000ms (5s) and min time is 1ms
```javascript
navigator.vibrate(8000); // will be truncated to 5000
```##### Android Quirks
> Calls to `navigator.vibrate` will immediately return `false` if user hasn't tapped on the frame or any embedded frame yet.
See https://www.chromestatus.com/feature/5644273861001216
### Vibrate with a pattern
Vibrates the device with a given pattern
```javascript
navigator.vibrate(pattern);
```
- __pattern__: Sequence of durations (in milliseconds) for which to turn on or off the vibrator. _(Array of Numbers)_#### Example
```javascript
// 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]);
```#### Quirks
- Not supported on iOS
### Cancel vibration
Immediately cancels any currently running vibration.
```javascript
navigator.vibrate(0)
```
or
```javascript
navigator.vibrate([])
```
or
```javascript
navigator.vibrate([0])
```
Passing in a parameter of 0, an empty array, or an array with one element of value 0 will cancel any vibrations.#### Quirks
- Not supported on iOS