Vibration

Browse sample. 浏览示例

本文介绍如何使用 .NET Multi-platform App UI (.NET MAUI) IVibration 接口。 该接口允许你启动或停止所需时间量的振动功能。

IVibration 接口的默认实现通过 Vibration.Default 属性提供。 IVibration 接口和 Vibration 类都包含在 Microsoft.Maui.Devices 命名空间中。

开始使用

如果要访问振动功能,需要进行下列特定于平台的设置。

需要具有 VIBRATE 权限,并且必须在 Android 项目中进行配置。 可以通过以下方法添加此权限:

  • 添加基于程序集的权限:

    打开 Platforms/Android/MainApplication.cs 文件,并在 using 指令后面添加以下程序集属性:

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

    - 或 -

  • 更新 Android 清单:

    打开 Platforms/Android/AndroidManifest.xml 文件并在 manifest 节点中添加以下内容:

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

    - 或 -

  • 在清单编辑器中更新 Android 清单:

    在 Visual Studio 中,双击 Platforms/Android/AndroidManifest.xml 文件以打开 Android 清单编辑器。 然后,在“所需权限”下方勾选“振动”权限。 这样会自动更新 AndroidManifest.xml 文件。

振动设备

可以请求设置时间量或默认为 500 毫秒的振动功能。 下面的代码示例使用 Vibrate(TimeSpan) 在 1 到 7 秒内随机振动设备:

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 方面特定于平台的差异。

无平台差异。