어노테이션
@CapacitorPlugin(name = "TypeScript에서 쓰일 플러그인 이름")
@PluginMethod
: TypeScript 에서 쓰일 메소드
- 해당 어노테이션을 기재하면 해당 메소드는 TypeScript에서 호출할 수 있다.
- callback 리턴시에
@PluginMethod(returnType = PluginMethod.RETURN_CALLBACK)
사용
PluginCall call
TypeScript에서 전달한 메소드 매개변수를 넘겨받을 객체
@NativePlugin()
: Deprcated 되었다. @PluginMethod
어노테이션 사용
@PluginMethod()
public void isAvailable(PluginCall call) {
//PluginCall call : TypeScript 단에서 전달한 인자를 넘겨받는다.
JSObject ret = new JSObject();
biometricManager = BiometricManager.from(getContext());
switch (biometricManager.canAuthenticate()) {
case BiometricManager.BIOMETRIC_SUCCESS:
ret.put("isAvailable", true);
break;
default:
ret.put("isAvailable", false);
break;
}
ret.put("biometryType", getAvailableFeature());
call.resolve(ret);
//call.resolve(JsonObject); : IsAviaiable() 메소드는 Promise가 되어서 반환된다.
}