Solución:
Encontré una manera de usar HapticFeedback.vibrate()
. Funciona tanto para iOS como para Android. Vea más detalles con el ejemplo de código y otras configuraciones en este [post][1]: Flutter: Cómo usar HapticFeedback
Primero, necesitas agregar vibrate:
como una dependencia a tu pubspec.yaml
expediente.
dependencies:
flutter:
sdk: flutter
vibrate:
Después de esto, debe importar el paquete en la clase que está utilizando.
// Import package
import 'package:vibrate/vibrate.dart';
Ahora puedes esto por vibración:
// Check if the device can vibrate
bool canVibrate = await Vibrate.canVibrate;
// Vibrate
// Vibration duration is a constant 500ms because
// it cannot be set to a specific duration on iOS.
Vibrate.vibrate();
// Vibrate with pauses between each vibration
final Iterable<Duration> pauses = [
const Duration(milliseconds: 500),
const Duration(milliseconds: 1000),
const Duration(milliseconds: 500),
];
// vibrate - sleep 0.5s - vibrate - sleep 1s - vibrate - sleep 0.5s - vibrate
Vibrate.vibrateWithPauses(pauses);
o por retroalimentación háptica:
// Choose from any of these available methods
enum FeedbackType {
success,
error,
warning,
selection,
impact,
heavy,
medium,
light
}
var _type = FeedbackType.impact;
Vibrate.feedback(_type);
Fuente: https://github.com/clovisnicolas/flutter_vibrate
Recomendaré usar flutter_vibrate, funcionará tanto para ios como para android. Configuración más sencilla y funciona muy bien.
-
Simplemente agregue flutter_vibrate como una dependencia en su archivo pubspec.yaml.
dependencias: vibración: ^ 1.4.0
-
Asegúrese de agregar los siguientes permisos a su manifiesto de Android
-
Importar el paquete:
importar ‘paquete: vibración / vibración.dart’;
Ejemplos:
Vibrar por defecto 500ms:
Vibration.vibrate();
Vibrar por 1000ms:
Vibration.vibrate(duration: 1000);
Patrón: esperar 0,5 s, vibrar 1 s, esperar 0,5 s, vibrar 2 s, esperar 0,5 s, vibrar 3 s, esperar 0,5 s, vibrar 0,5 s:
Vibration.vibrate(pattern: [500, 1000, 500, 2000, 500, 3000, 500, 500]);
Patrón: esperar 0,5 s, vibrar 1 s, esperar 0,5 s, vibrar 2 s, esperar 0,5 s, vibrar 3 s, esperar 0,5 s, vibrar 0,5 s ‘:
Vibration.vibrate( pattern: [500, 1000, 500, 2000, 500, 3000, 500, 500], intensities: [128, 255, 64, 255]);
Androide
Se requiere el permiso VIBRAR en AndroidManifest.xml.
Soporta vibraciones con duración y patrón. En Android 8 (Oreo) y superior, usa el [VibrationEffect][1] clase. Para el resto de las instrucciones de uso, consulte [Vibrator][1] documentación de clase.
iOS
Admite vibración con duración y patrón en dispositivos CoreHaptics. En dispositivos más antiguos, el patrón se emula con vibraciones de 500 ms de largo. Puede verificar si el dispositivo actual tiene soporte CoreHaptics usando hasCustomVibrationsSupport.