// may not work
function testFingerPrint() {
var fpManager = plus.android.importClass("android.hardware.fingerprint.FingerprintManager");
var Context = plus.android.importClass("android.content.Context");
var fpService = plus.android.runtimeMainActivity().getSystemService(Context.FINGERPRINT_SERVICE);
log("========")
log(fpManager)
log(fpService)
alert(fpService.isHardwareDetected());
log("========")
}
如上面这段测试指纹识别的方法 isHardwareDetected() 因为官方hbuilder打包并没开放:
<uses-permission android:name=\"android.permission.USE_FINGERPRINT\"/>
指纹识别的设置(manifest.json界面设置法),所以我只能在代码增加(manifest.json代码添加)
然后经过测试,如果使用链接手机测试运行,会返回:
======== at www/js/project/common.js:19
function (nocreate) { this.UUID = window.plus.tools.UUID('JSB'); this.TYPE = 'JSBObject'; var args = window.plus.ios.Tool.process(arguments); if ( nocreate && plus.tools.IOS == plus.tools.platform ) {} else { window.plus.bridge.execSync2('Invocation', 'Instance',[this.UUID, 'android.hardware.fingerprint.FingerprintManager',args],null,true); } } at www/js/project/common.js:19
[object Object] at www/js/project/common.js:19
Uncaught java.lang.SecurityException: Must have android.permission.USE_FINGERPRINT permission.: Neither user 10179 nor current process has android.permission.USE_FINGERPRINT.;at android.hardware.fingerprint.FingerprintManager.isHardwareDetected at www/pages/oa/attendance.html:1
注:已经能返回 fpService 和 fpManger,但不能调用 isHardwareDetected() ,因为报没有USE_FINGERPRINT 权限!
而如果我把APP交付云打包,然后在手机安装,在安装后,我把手机对该APP设置为 “允许所有的权限”,则能正确调用 isHardwareDetected() ,并弹出true。
所以求问官方:
A. 能否在app manifest.json 增加 USE_FINGERPRINT 权限设置,并让它生效~!!!
B. 小弟目前正在搞一个省政府级APP,大部分功能都已完成,目前就缺 “指纹登录”功能,找偏官方都没资料,也不想自己写原生插件(因为指纹套件本身就是android60自带功能),所以希望官方给出一个具体的解决思路,越简单越好(形如我上面的例子),我也可以付费求样例(机型为华为MATE9和P10, 已经采购了几百台打算上HBUILDER的APP,目前就卡在这里)
4 个回复
pango (作者)
有官方大神解答下么
pango (作者)
顶 求官方大神解答下 或者给个思路
51ZionLin
我配了权限啥也是没办法做,我用android studio写了,能正常监听指纹识别,然后翻译成njs之后出了问题,某些导出类用不了导致没法监听。而且manifest.json本来就可以自己写权限配置的!你没有好好研究hb。!
pango (作者)
你好,请问你用android stuido如何处理,是写原生么? 翻译为njs后什么问题,另外重点是最后你是如何解决指纹识别的问题的,能否加个朋友,我们可以付费你求助解决这个指纹登录问题
2017-06-11 16:45
猫猫猫猫 - 用户已离线
离线打包插件实现了,不仅支持华为,还支持三星、小米、魅族、vivo、摩托、等多数手机。
51ZionLin
..他说的是Njs 离线插件当然可以..
2017-07-16 21:33
猫猫猫猫
@449769154@qq.com:是的,njs没法引用三星的指纹SDK。
2017-07-17 09:05