Compartir a través de


Vibración

Browse sample.Examinar la muestra.

En este artículo se describe cómo puede usar la interfaz IVibration de .NET Multi-platform App UI (.NET MAUI). La interfaz permite iniciar y detener la función de vibración durante un período de tiempo determinado.

La implementación predeterminada de la interfaz IVibration está disponible a través de la propiedad Vibration.Default. Tanto la interfaz IVibration como la clase Vibration están contenidas en el espacio de nombres Microsoft.Maui.Devices.

Introducción

Para acceder a la función de vibración, se requiere la siguiente configuración específica para la plataforma.

El permiso VIBRATE es necesario y se debe configurar en el proyecto Android. Este permiso se puede agregar de las siguientes maneras:

  • Agrega el permiso basado en ensamblados:

    Abre el archivo Platforms/Android/MainApplication.cs y agrega los siguientes atributos de ensamblado después de las directivas using:

    [assembly: UsesPermission(Android.Manifest.Permission.Vibrate)]
    

    - o -

  • Actualiza el manifiesto de Android:

    Abre el archivo Platforms/Android/AndroidManifest.xml y agrega esto en el nodo manifest:

    <uses-permission android:name="android.permission.VIBRATE" />
    

    - o -

  • Actualiza el manifiesto de Android en el editor de manifiestos:

    En Visual Studio, haz doble clic en el archivo Platforms/Android/AndroidManifest.xml para abrir el editor de manifiestos de Android. A continuación, en Permisos necesarios, comprueba el permiso VIBRATE. Esto actualizará automáticamente el archivo AndroidManifest.xml.

Vibración del dispositivo

La función de vibración se puede solicitar para un período de tiempo concreto o el tiempo predeterminado de 500 milisegundos. El ejemplo de código siguiente hace vibrar aleatoriamente el dispositivo entre uno y siete segundos mediante Vibrate(TimeSpan):

private void VibrateStartButton_Clicked(object sender, EventArgs e)
{
    int secondsToVibrate = Random.Shared.Next(1, 7);
    TimeSpan vibrationLength = TimeSpan.FromSeconds(secondsToVibrate);
    
    Vibration.Default.Vibrate(vibrationLength);
}

private void VibrateStopButton_Clicked(object sender, EventArgs e) =>
    Vibration.Default.Cancel();

Diferencias entre plataformas

En esta sección se describen las diferencias específicas de la plataforma con la API de vibración.

No hay diferencias entre las plataformas.