setBackgroundCallback method
Implementation
@override
void setBackgroundCallback(SimpleNativeTimerBackgroundCallback callback) {
_backgroundCallback = callback;
final BinaryMessenger messenger = _resolveBinaryMessenger();
messenger.setMessageHandler('simple_native_timer/background', (
ByteData? message,
) async {
if (_backgroundCallback == null || message == null) {
return null;
}
final codec = const StandardMethodCodec();
final MethodCall call = codec.decodeMethodCall(message);
if (call.method == 'onTick') {
final args = call.arguments as Map<dynamic, dynamic>?;
await _backgroundCallback!.call(
args?.map((key, value) => MapEntry(key.toString(), value)) ??
<String, dynamic>{},
);
}
return codec.encodeSuccessEnvelope(null);
});
}