Vibration
To provide tactile feedback to the user or to interact with the user even when the device volume is low, you can make a Tizen device vibrate. The vibration can provide a better user experience and improve the perception of your application.
This feature is supported in mobile and wearable applications only.
The vibration interface is implemented by all Navigator
instances. With the vibrate()
method parameters, you can define different vibration types:
-
Continuous vibration for a given length of time
The
time
parameter defines the vibration time in milliseconds. -
Vibration in a given pattern
The
pattern
parameter defines a vibration pattern as a list of time entries. Odd entries represent the vibration time in milliseconds, and even entries represent still periods in milliseconds between the vibrations.
Manage vibrations
To enhance the user interaction with the device, learn to manage vibrations:
-
To launch a vibration for a given length of time, call the
vibrate()
method, which is implemented by allNavigator
instances:<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>Tizen Vibration API Example code</title> <script>
function singleVibration() { /* Vibrate for 2 seconds */ navigator.vibrate(2000); }
-
To launch a vibration that uses a pattern of vibration and still periods, define the pattern as the
vibrate()
method parameter:function patternVibration() { /* Vibrate in a given pattern: 1 sec on, 1 sec off, 2 sec on, 2 sec off */ navigator.vibrate([1000, 1000, 2000, 2000, 1000]); }
-
To stop the vibration before it ends naturally, use the
vibrate()
method with0
or[]
as a parameter. The method call cancels all existing vibrations:function stopVibration() { navigator.vibrate(0); }
-
Create the buttons used to manage the vibrations:
</script> </head> <body> <header style="width: 100%; text-align: center;"> <h1>Vibration API Example</h1> </header> <nav style="width: 100%; text-align: center;"> <!--Button click calls singleVibration()--> <button onclick="singleVibration();" style="width: 200px; height: 50px; margin-bottom: 10px"> Single vibration </button> <!--Button click calls patternVibration()--> <button onclick="patternVibration();" style="width: 200px; height: 50px; margin-bottom: 10px"> Pattern vibration </button> <!--Button click calls stopVibration()--> <button onclick="stopVibration();" style="width: 200px; height: 50px"> Stop vibration </button> </nav> </body> </html>
Source code
For the complete source code related to this use case, see the following file:
Related information
- Dependencies
- Tizen 2.4 and Higher for Mobile
- Tizen 2.3.1 and Higher for Wearable