hasAmplitudeControl static method

Future<bool?> hasAmplitudeControl()

Check if the vibrator has amplitude control.

if (await Vibration.hasAmplitudeControl()) {
  Vibration.vibrate(amplitude: 128);
}

Implementation

static Future<bool?> hasAmplitudeControl() async {
  try {
    if (Platform.isAndroid) {
      final deviceData = await deviceInfo.androidInfo;

      if (!deviceData.isPhysicalDevice) {
        return false;
      }

      return _channel.invokeMethod("hasAmplitudeControl");
    } else if (Platform.isIOS) {
      final deviceData = await deviceInfo.iosInfo;

      if (!deviceData.isPhysicalDevice) {
        return false;
      }

      return true;
    }
  } on PlatformException {
    return false;
  } on UnsupportedError {
    return false;
  }

  return false;
}