Saltar al contenido

¿Cómo implementar la vibración con Flutter tanto para Android como para iOS?

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.

  1. Simplemente agregue flutter_vibrate como una dependencia en su archivo pubspec.yaml.

    dependencias: vibración: ^ 1.4.0

  2. Asegúrese de agregar los siguientes permisos a su manifiesto de Android

  3. 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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *