Я отвечаю на свой вопрос, поскольку нашел решение, которое хорошо работает для Android;используя плагин vibrate
, следующий код прекрасно работает для отправки пользовательских длин вибрации и моделей вибрации:
class GoodVibrations {
static const MethodChannel _channel = const MethodChannel(
'github.com/clovisnicolas/flutter_vibrate');
///Vibrate for ms milliseconds
static Future vibrate(ms) =>
_channel.invokeMethod("vibrate", {"duration": ms});
///Take in an Iterable<int> of the form
///[l_1, p_1, l_2, p_2, ..., l_n]
///then vibrate for l_1 ms,
///pause for p_1 ms,
///vibrate for l_2 ms,
///...
///and vibrate for l_n ms.
static Future vibrateWithPauses(Iterable<int> periods) async {
bool isVibration = true;
for (int d in periods) {
if (isVibration && d > 0) {
vibrate(d);
}
await new Future.delayed(Duration(milliseconds: d));
isVibration = !isVibration;
}
}
}