vibration 1.3.1 vibration: ^1.3.1 copied to clipboard
A plugin for handling Vibration API on iOS and Android devices
Vibration #
A plugin for handling Vibration API on iOS and Android devices. API docs.
Getting Started #
-
Add
vibration
to the dependencies section ofpubspec.yaml
.dependencies: vibration: ^1.3.1
-
Import package:
import 'package:vibration/vibration.dart';
Methods #
hasVibrator #
Check if the target device has vibration capabilities.
if (await Vibration.hasVibrator()) {
Vibration.vibrate();
}
hasAmplitudeControl #
Check if the target device has the ability to control the vibration amplitude, introduced in Android 8.0 Oreo - false for all earlier API levels.
if (await Vibration.hasAmplitudeControl()) {
Vibration.vibrate(amplitude: 128);
}
vibrate #
With specific duration (for example, 1 second):
Vibration.vibrate(duration: 1000);
Default duration is 500ms.
With specific duration and specific amplitude (if supported):
Vibration.vibrate(duration: 1000, amplitude: 128);
With pattern (wait 500ms, vibrate 1s, wait 500ms, vibrate 2s):
Vibration.vibrate(pattern: [500, 1000, 500, 2000]);
With pattern (wait 500ms, vibrate 1s, wait 500ms, vibrate 2s) at varying intensities (1 - min, 255 - max):
Vibration.vibrate(pattern: [500, 1000, 500, 2000], intensities: [1, 255]);
cancel #
Stop ongoing vibration.
Vibration.cancel();
Android #
The VIBRATE
permission is required in AndroidManifest.xml.
<uses-permission android:name="android.permission.VIBRATE"/>
Supports vibration with duration and pattern. On Android 8 (Oreo) and above, uses the VibrationEffect class. For the rest of the usage instructions, see Vibrator class documentation.
iOS #
Supports vibration with duration and pattern on CoreHaptics devices. On older devices, the pattern is emulated with 500ms long vibrations.