callObjectMethodSync<T extends JObject> method
dynamic
callObjectMethodSync<T extends JObject>(})
Implementation
dynamic callObjectMethodSync<T extends JObject>(String methodName,
{List? args, List<String>? assignedSignature}) {
String type = T.toString();
if (type == 'dynamic') {
throw 'callObject error. \n'
'Using callObject need specify the dart type.\n'
'And this dart class need extend jobject. \n'
'For example: callObjectMethodSync<JInteger>("getTest");';
}
final sig = getRegisterJavaClassSignature(type);
if (sig == null) {
throw 'callObject error. \n'
'Can not find signature in register map.\n'
'You should use @nativeJavaClass specify the java class.'
'See more in https://github.com/dart-native/dart_native/tree/master#usage.\n'
'Or you can just use call method to specify the return type,'
'like callMethodSync("getString", "Ljava/lang/String;")';
}
final convertor = getRegisterPointerConvertor(type);
return convertor!((callMethodSync(methodName, sig,
args: args, assignedSignature: assignedSignature) as JObject)
.pointer);
}