Vibration #

The Vibration API is exposed at Vibration.vibrate(). The vibration is asynchronous so this method will return immediately.

There will be no effect on devices that do not support Vibration, eg. the simulator.

Note for android add <uses-permission android:name="android.permission.VIBRATE"/> to AndroidManifest.xml

Vibration patterns are currently unsupported.

Methods #

static vibrate(pattern, repeat) #

static cancel(0) #

Stop vibration

@platform android

You can edit the content above on GitHub and send us a pull request!

Examples #

Edit on GitHub
'use strict'; var React = require('react'); var ReactNative = require('react-native'); var { StyleSheet, View, Text, TouchableHighlight, Vibration, } = ReactNative; exports.framework = 'React'; exports.title = 'Vibration'; exports.description = 'Vibration API'; exports.examples = [ { title: 'Vibration.vibrate()', render() { return ( <TouchableHighlight style={styles.wrapper} onPress={() => Vibration.vibrate()}> <View style={styles.button}> <Text>Vibrate</Text> </View> </TouchableHighlight> ); }, }, { title: 'Vibration.vibrate([0, 500, 200, 500])', render() { return ( <TouchableHighlight style={styles.wrapper} onPress={() => Vibration.vibrate([0, 500, 200, 500])}> <View style={styles.button}> <Text>Vibrate once</Text> </View> </TouchableHighlight> ); }, }, { title: 'Vibration.vibrate([0, 500, 200, 500], true)', render() { return ( <TouchableHighlight style={styles.wrapper} onPress={() => Vibration.vibrate([0, 500, 200, 500], true)}> <View style={styles.button}> <Text>Vibrate until cancel</Text> </View> </TouchableHighlight> ); }, }, { title: 'Vibration.cancel()', render() { return ( <TouchableHighlight style={styles.wrapper} onPress={() => Vibration.cancel()}> <View style={styles.button}> <Text>Cancel</Text> </View> </TouchableHighlight> ); }, }, ]; var styles = StyleSheet.create({ wrapper: { borderRadius: 5, marginBottom: 5, }, button: { backgroundColor: '#eeeeee', padding: 10, }, });