Partilhar via


Vibração

Browse sample. Navegue pelo exemplo

Este artigo descreve como você pode usar a interface .NET Multi-platform App UI (.NET MAUI). IVibration Esta interface permite iniciar e parar a funcionalidade de vibração por um período de tempo desejado.

A implementação padrão da interface está disponível por meio da IVibrationVibration.Default propriedade. A interface e Vibration a IVibration classe estão contidas no Microsoft.Maui.Devices namespace.

Introdução

Para acessar a funcionalidade Vibration, é necessária a seguinte configuração específica da plataforma.

A VIBRATE permissão é necessária e deve ser configurada no projeto Android. Essa permissão pode ser adicionada das seguintes maneiras:

  • Adicione a permissão baseada em assembly:

    Abra o arquivo Platforms/Android/MainApplication.cs e adicione os seguintes atributos de assembly após using as diretivas:

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

    - ou -

  • Atualize o manifesto do Android:

    Abra o arquivo Platforms/Android/AndroidManifest.xml e adicione o manifest seguinte no nó:

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

    - ou -

  • Atualize o manifesto do Android no editor de manifesto:

    No Visual Studio, clique duas vezes no arquivo Platforms/Android/AndroidManifest.xml para abrir o editor de manifesto do Android. Em seguida, em Permissões necessárias, verifique a permissão VIBRATE . Isso atualizará automaticamente o arquivo AndroidManifest.xml.

Vibrar o dispositivo

A funcionalidade de vibração pode ser solicitada por um determinado período de tempo ou o padrão de 500 milissegundos. O exemplo de código a seguir vibra aleatoriamente o dispositivo entre um e sete segundos usando o 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();

Diferenças de plataforma

Esta seção descreve as diferenças específicas da plataforma com a API de vibração.

Sem diferenças entre plataformas.