vibration 1.2.4

  • Readme
  • Changelog
  • Example
  • Installing
  • 98

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.4
    
  2. 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 #

Only supports singular vibrations with 500ms duration.

1.2.4 #

  • Move flutter_test to dev_dependencies. Fixes issue #24.

1.2.3 #

  • Add proper indication of async methods to docs (by @qqgg231)

1.2.2 #

  • Suppress deprecation warnings for vibrate method

1.2.1 #

  • Maintenance release

1.2.0 #

  • Add support for amplitude control under Android 8.0 and later (by @pmundt)

1.1.0 #

1.0.2 #

  • Update vibration.podspec

1.0.1 #

  • Implemented cancel method for iOS

1.0.0 #

  • Initial Release

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:vibration/vibration.dart';

void main() => runApp(VibratingApp());

class VibratingApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: const Text('Vibration Plugin example app'),
          ),
          body: Builder(builder: (BuildContext context) {
            return Center(
              child: Column(
                children: <Widget>[
                  RaisedButton(
                    child: Text('Vibrate for default 500ms'),
                    onPressed: () {
                      Vibration.vibrate();
                    },
                  ),
                  RaisedButton(
                    child: Text('Vibrate for 1000ms'),
                    onPressed: () {
                      Vibration.vibrate(duration: 1000);
                    },
                  ),
                  RaisedButton(
                    child: Text('Vibrate with pattern'),
                    onPressed: () {
                      final snackBar = SnackBar(
                        content: Text(
                            'Pattern: wait 0.5s, vibrate 1s, wait 0.5s, vibrate 2s, wait 0.5s, vibrate 3s, wait 0.5s, vibrate 0.5s'),
                      );

                      Scaffold.of(context).showSnackBar(snackBar);
                      Vibration.vibrate(
                          pattern: [500, 1000, 500, 2000, 500, 3000, 500, 500]);
                    },
                  )
                ],
              ),
            );
          })),
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  vibration: ^1.2.4

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:vibration/vibration.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
96
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
98
Learn more about scoring.

We analyzed this package on Apr 3, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.6
  • Flutter: 1.12.13+hotfix.8

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test