Vibración
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.