web-dev-qa-db-ja.com

AndroidとiOSの両方にFlutterで振動を実装する方法は?

Flutterを使用して、ボタンのクリック時に振動を実装しようとしています。

正直なところ、意外と難しいです。次のパッケージの使用に失敗しました: ' https://pub.dev/packages/vibration 'および ' https://pub.dev/packages/vibrate 'しかし、それらは振動しません(エミュレータ/シミュレータではなく、実際のデバイスについてここで話します)。

IOSおよびAndroid Flutter搭載デバイスにバイブレーションを実装する方法に関する明確な例のガイダンスはありますか?

ありがとう、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