在Xamarin Android上振动

时间:2014-08-06 12:27:26

标签: c# android xamarin vibrate vibration

我目前正在使用Xamarin android处理应用程序。我无法将设备送到vibrate

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

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

2 个答案:

答案 0 :(得分:6)

这解决了这个问题 的AndroidManifest.xml

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

答案 1 :(得分:0)

“振动”权限是必需的,必须在Android项目中进行配置。可以通过以下方式添加它:

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

C#

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

OR

更新Android清单

打开Properties文件夹下的AndroidManifest.xml文件,然后在清单节点内部添加以下内容。

XML

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

或右键单击Android项目并打开该项目的属性。在“ Android清单”下,找到“所需权限:”区域,然后检查“ VIBRATE”权限。这将自动更新AndroidManifest.xml文件。

在您的课程中添加对Xamarin.Essentials的引用:

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://docs.microsoft.com/en-us/xamarin/essentials/vibrate?tabs=android