Поделиться через


Вибрация

Browse sample. Обзор примера

В этой статье описывается, как использовать интерфейс многоплатформенного приложения .NET (.NET MAUI). IVibration Этот интерфейс позволяет запускать и останавливать функциональность вибрации в течение требуемого времени.

Реализация интерфейса по умолчанию IVibration доступна через Vibration.Default свойство. Интерфейс IVibration и Vibration класс содержатся в Microsoft.Maui.Devices пространстве имен.

Начать

Для доступа к функциям Вибрации требуется следующая настройка для конкретной платформы.

Требуется VIBRATE разрешение и его необходимо настроить в проекте Android. Это разрешение можно добавить следующим образом:

  • Добавьте разрешение на основе сборки:

    Откройте файл Platform/Android/MainApplication.cs и добавьте следующие атрибуты сборки после using директив:

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

    - или -

  • Обновите манифест Android:

    Откройте файл Platform/Android/AndroidManifest.xml и добавьте в узел следующееmanifest:

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

    - или -

  • Обновите манифест Android в редакторе манифеста:

    В Visual Studio дважды щелкните файл Platform/Android/AndroidManifest.xml , чтобы открыть редактор манифеста Android. Затем в разделе "Необходимые разрешения" проверка разрешение VIBRATE. Это действие автоматически обновляет файл AndroidManifest.xml.

Вибрировать устройство

Функциональность вибрации может запрашиваться в течение заданного времени или по умолчанию в 500 миллисекундах. В следующем примере кода случайным образом вибрирует устройство в диапазоне от одного до семи секунд с помощью 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();

Различия между платформами

В этом разделе описываются различия платформы с API вибрации.

Различия платформ отсутствуют.