setCountdownAlarm method
Future<String>
setCountdownAlarm({
- required int countdownDurationInSeconds,
- required int repeatDurationInSeconds,
- String? label,
- String? tintColor,
override
Implementation
@override
Future<String> setCountdownAlarm({
required int countdownDurationInSeconds,
required int repeatDurationInSeconds,
String? label,
String? tintColor,
}) async {
try {
final args = {
'countdownDurationInSeconds': countdownDurationInSeconds,
'repeatDurationInSeconds': repeatDurationInSeconds,
if (label != null) 'label': label,
if (tintColor != null) 'tintColor': tintColor,
};
final alarmId = await methodChannel.invokeMethod<String>(
'setCountdownAlarm',
args,
);
if (alarmId == null) {
throw PlatformException(
code: 'UNKNOWN_ERROR',
message: 'Failed to schedule alarm: null result',
);
}
return alarmId;
} on PlatformException catch (e) {
if (e.code == 'UNSUPPORTED_VERSION') {
throw PlatformException(
code: 'UNSUPPORTED_VERSION',
message: 'AlarmKit is only available on iOS 26.0 and above',
);
}
rethrow;
}
}