Share via


振動

Browse sample. サンプルを参照する

この記事では、.NET マルチプラットフォーム アプリ 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 のプラットフォーム固有の違いについて説明します。

プラットフォームによる違いはありません。