我目前正在使用Xamarin
android处理应用程序。我无法将设备送到vibrate
。
Vibrator vibrator = (Vibrator)Activity.GetSystemService(Context.VibratorService);
vibrator.Vibrate(100);
当我按下链接到代码的按钮时,它会构建但崩溃。
答案 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