Skip to content

Jorgezz/flutter_vibration

 
 

Repository files navigation

Vibration

Build Status

A plugin for handling Vibration API on iOS and Android devices. API docs.

Getting Started

  1. Add vibration to the dependencies section of pubspec.yaml.

    dependencies:
      vibration: 1.2.1
  2. Import package:

    import 'package:vibration/vibration.dart';

Methods

hasVibrator

Check if the target device has vibration capabilities.

if (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 (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

Only supports singular vibrations with 500ms duration.

About

Handle vibration on iOS and Android in Flutter apps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 35.1%
  • Java 33.5%
  • Ruby 20.0%
  • Swift 9.0%
  • Objective-C 2.4%