vibration 2.0.0 vibration: ^2.0.0 copied to clipboard
A plugin for handling Vibration API on iOS, Android, web and OpenHarmony.
Vibration #
A plugin for handling Vibration API on iOS, Android, and web. API docs.
Getting Started #
-
Add
vibration
to the dependencies section ofpubspec.yaml
.dependencies: vibration: ^1.8.4
-
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);
}
hasCustomVibrationsSupport #
Check if the device is able to vibrate with a custom duration, pattern or intensity.
May return true
even if the device has no vibrator (if you want to check whether the device has a vibrator,
see hasVibrator
).
if (await Vibration.hasCustomVibrationsSupport()) {
Vibration.vibrate(duration: 1000);
} else {
Vibration.vibrate();
await Future.delayed(Duration(milliseconds: 500));
Vibration.vibrate();
}
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.
You can check whether the current device has CoreHaptics support using hasCustomVibrationsSupport
.
OpenHarmony #
The OpenHarmony implementation of vibration
.
vibration
在 OpenHarmony 平台的实现。
Add the following permission settings to your project's module.json5 file.
在你的项目的 module.json5
文件中增加以下权限设置。
"requestPermissions": [
{"name" : "ohos.permission.VIBRATE"},
]
Usage #
dependencies:
vibration: any
vibration_ohos: any
vibrateEffect
and vibrateAttribute
are only exist in VibrationOhos
.
(VibrationPlatform.instance as VibrationOhos).vibrate(
vibrateEffect: const VibratePreset(count: 100),
vibrateAttribute: const VibrateAttribute(
usage: 'alarm',
),
);