addCallback method
Implementation
Future<void> addCallback(
android_view_SurfaceHolder_Callback callback,
) async {
// invoke native method
await kMethodChannel.invokeMethod(
'android.view.SurfaceHolder::addCallback',
{'__this__': this, 'callback': callback},
);
// handle native call
MethodChannel(
'android.view.SurfaceHolder::addCallback::Callback',
kMethodCodec,
).setMethodCallHandler((methodCall) async {
try {
final args = methodCall.arguments as Map?;
switch (methodCall.method) {
case 'Callback::android.view.SurfaceHolder.Callback::surfaceCreated':
callback.surfaceCreated(args!['var1']);
break;
case 'Callback::android.view.SurfaceHolder.Callback::surfaceChanged':
callback.surfaceChanged(
args!['var1'],
args['var2'],
args['var3'],
args['var4'],
);
break;
case 'Callback::android.view.SurfaceHolder.Callback::surfaceDestroyed':
callback.surfaceDestroyed(args!['var1']);
break;
default:
throw MissingPluginException('方法${methodCall.method}未实现');
}
} catch (e) {
debugPrint(e.toString());
rethrow;
}
});
}