Вибрация на Android Xamarin
Сейчас я работаю над приложением, используя Xamarin
андроид. Я не могу получить устройство vibrate
хоть.
Vibrator vibrator = (Vibrator)Activity.GetSystemService(Context.VibratorService);
vibrator.Vibrate(100);
Он строит, но вылетает, когда я нажимаю кнопку, связанную с кодом.
1 ответ
Это решает проблему AndroidManifest.xml
<uses-permission android:name="android.permission.VIBRATE"/>
Требуется разрешение Vibrate, которое необходимо настроить в проекте Android. Это можно добавить следующими способами:
Откройте файл AssemblyInfo.cs в папке Properties и добавьте:
C#
[assembly: UsesPermission(Android.Manifest.Permission.Vibrate)]
ИЛИ
Обновите манифест Android:
Откройте файл Android Manifest.xml в папке "Свойства" и добавьте следующее внутри узла манифеста.
XML
<uses-permission android:name="android.permission.VIBRATE" />
Или щелкните правой кнопкой мыши проект Android и откройте свойства проекта. В Android Manifest найдите область Required permissions: и проверьте разрешение VIBRATE. Это автоматически обновит файл Android Manifest.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.
}
Отмена вибрации устройства может быть запрошена с помощью метода Отмена:
try
{
Vibration.Cancel();
}
catch (FeatureNotSupportedException ex)
{
// Feature not supported on device
}
catch (Exception ex)
{
// Other error has occurred.
}
ссылка - https://docs.microsoft.com/en-us/xamarin/essentials/vibrate?tabs=android