按照指南https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/vision-interactiveliveness-V5中的方法调用。
// 校验CAMERA权限
privatestartDetection() {
let permissions: Array<Permissions> = [ 'ohos.permission.CAMERA'];
let context: common.UIAbilityContext = getContext() as common.UIAbilityContext;
abilityAccessCtrl.createAtManager().requestPermissionsFromUser(context, permissions).then((res) => {
for (let i = 0; i < res.permissions.length; i++) {
if (res.permissions[i] === "ohos.permission.CAMERA" && res.authResults[i] === 0) {
this.privaterouterLibrary();
}
}
})
}
private privaterouterLibrary() {
PiccLog.info("privaterouterLibrary start");
interactiveLiveness.startLivenessDetection({isSilentMode:interactiveLiveness.DetectionMode.SILENT_MODE,
routeMode:interactiveLiveness.RouteRedirectionMode.REPLACE_MODE, actionsNum:2})
.then((detectState: boolean) => {
PiccLog.info("LivenessCollectionIndex" + `Succeeded in jumping.`);
}).catch((err: BusinessError) => {
PiccLog.error( "LivenessCollectionIndex" + `Failed to jump. Code:${err.code},message:${err.message}`);
})
}
}
授权成功,interactiveLiveness.startLivenessDetection这个方法执行后,页面和回调方法都没有任何反应。
startLivenessDetection传参格式有误,需要传的是两种模式的值, 参考代码如下: