Xamarin Android上的振动

本文关键字:Android Xamarin | 更新日期: 2023-09-27 18:16:34

我目前正在使用Xamarin android的应用程序。我不能把设备转到vibrate

Vibrator vibrator = (Vibrator)Activity.GetSystemService(Context.VibratorService);
vibrator.Vibrate(100);

它构建,但当我按下链接到代码的按钮时崩溃。

Xamarin Android上的振动

这就解决了问题AndroidManifest.xml

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

震动权限是必需的,必须在Android项目中配置。可以通过以下方式添加:

打开Properties文件夹下的AssemblyInfo.cs文件并添加:

c#

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

更新Android Manifest:

打开Properties文件夹下的AndroidManifest.xml文件,并在manifest节点中添加以下内容。

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

或者右键单击Android项目并打开项目的属性。在Android Manifest中找到Required permissions:区域并检查VIBRATE权限。这将自动更新AndroidManifest.xml文件。

添加对Xamarin的引用。课堂要点:

using Xamarin.Essentials;

振动功能可以请求设定的时间或默认的500毫秒。

try
{
    // Use default vibration length
    Vibration.Vibrate();
    // Or use specified time
    var duration = TimeSpan.FromSeconds(1);
    Vibration.Vibrate(duration);
}
catch (FeatureNotSupportedException ex)
{
    // Feature not supported on device
}
catch (Exception ex)
{
    // Other error has occurred.
}

可以使用Cancel方法请求取消设备振动:

try
{
    Vibration.Cancel();
}
catch (FeatureNotSupportedException ex)
{
    // Feature not supported on device
}
catch (Exception ex)
{
    // Other error has occurred.
}

ref - https://learn.microsoft.com/en-us/xamarin/essentials/vibrate?tabs=android