web-dev-qa-db-fra.com

Comment implémenter des vibrations avec Flutter pour les deux Android et iOS?

En utilisant Flutter, j'essaie d'implémenter des vibrations sur un clic de bouton.

Je trouve cela étonnamment difficile d'être honnête. J'ai essayé d'utiliser les packages suivants sans succès: ' https://pub.dev/packages/vibration ' et ' https://pub.dev/packages/vibrate 'mais ils ne vibrent tout simplement pas (en parlant ici des vrais appareils et non des émulateurs/simulateurs).

Existe-t-il des conseils avec des exemples clairs sur la façon d'implémenter les vibrations sur iOS et les appareils Android avec Flutter?

Merci, Mihai

7
Miha
import 'package:flutter/material.Dart';
import 'package:vibrate/vibrate.Dart';

// Note:
// Make sure you add the following permissions to your Android Manifest
// <uses-permission Android:name="Android.permission.VIBRATE"/>
// 
// In pubspec.yaml file, add following dependency
// dependencies:
//   vibrate: ^0.0.4

class TestVibration extends StatefulWidget {
  @override
  _TestVibrationState createState() => _TestVibrationState();
}

class _TestVibrationState extends State<TestVibration> {

  bool canVibrate = false;
  @override
  void initState() {
    super.initState();
    _checkIfVibrate();
  }
  _checkIfVibrate() async {
    // check if device can vibrate
    canVibrate = await Vibrate.canVibrate;
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      child: RaisedButton(
        child: Text('Vibrate'),
        onPressed: (){
          // FeedbackTypes -> {success, error, warning, selection, impact, heavy, medium, light}
          _getVibration(FeedbackType.warning);
        },
      ),
    );
  }

  _getVibration(feedbackType) async {
    if (canVibrate) {
      Vibrate.feedback(feedbackType);
      // Vibrate.vibrate();   // Try this too!
    }
  }
}
0
shrSachin