有没有办法在webview中自动检测OTP?有一个手机号。要使用动态口令进行验证,并且要在应用程序webview中检测到动态口令。
提前感谢
发布于 2018-06-19 14:27:27
无论何时你通过短信获得动态口令,并通过接收器通知,那么在webview中,无论你想在里面添加你的动态口令,你需要这样做吗?
String otp = "OTP_FROM_YOUR_RECEIVER";
webview.loadUrl("javascript:document.getElementById('otp_input').value = '"+otp+"';"); 上面的代码只是一个例子,你需要根据你的要求和所有的要求进行修改。
发布于 2018-10-17 18:40:53
下面是Kotlin中的代码:
if (Build.VERSION.SDK_INT >= 19) {
mWebView!!.evaluateJavascript(getString(R.string.fill_otp) + "\"$extractedOTP\";") { Log.e(TAG, it) }
} else {
mWebView!!.loadUrl(getString(R.string.fill_otp) + "\"$extractedOTP\";")
}将"fill_otp“放入字符串文件:
<string name="fill_otp">javascript: function getInputs() {
var ary = [];
var inputs = document.getElementsByTagName(\"input\");
for (var i=0; i<inputs.length; i++)
{
if (inputs[i].type.toLowerCase() == \"password\"||
inputs[i].type.toLowerCase() == \"tel\"||
inputs[i].type.toLowerCase() == \"number\"||
inputs[i].type.toLowerCase() == \"text\"){
if(!inputs[i].hidden&&!inputs[i].disabled){
ary.push(inputs[i]);
}
}
}
return ary;
}
var array= getInputs();
array[0].value=</string>https://stackoverflow.com/questions/50921441
复制相似问题