如何在web view android中捕获电话号码
我创建了一个JSON解析器来捕获数据并显示在listview中。然后在webview中打开其中一个url。现在,我想在该网络视图中捕获电话号码以拨打电话。那么如何在该网络视图中捕获电话号码呢?使用evaluateJavascript,试试:如何在web view android中捕获电话号码,android,Android,我创建了一个JSON解析器来捕获数据并显示在listview中。然后在webview中打开其中一个url。现在,我想在该网络视图中捕获电话号码以拨打电话。那么如何在该网络视图中捕获电话号码呢?使用evaluateJavascript,试试: String getNumber = ""; getNumber = "var np = document.getElementById('postingbody'), t;"+ "if(np && np.innerHTML)
String getNumber = "";
getNumber = "var np = document.getElementById('postingbody'), t;"+
"if(np && np.innerHTML){"+
" t = String(np.innerHTML).match(/(\\d{3})\\-(\\d{3})\\-(\\d{4})/g);"+
" if(t && t.length>0){"+
" return t[0];"+//show first number found
" } else {"+
" return 1;"+//return integer (custom error 1)
" }"+
"} else {"+
" return 2;"+//return integer (custom error 2)
"}";
webView.evaluateJavascript(getNumber, new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
Log.d("LogName", s);
}
@Override
public void onReceiveValue(int s) {
if(s==1){//custom error 1
Log.d("LogName", "phone number not found");
} else if(s==2){//custom error 2
Log.d("LogName", "#postingbody (DOM element) not found");
}
}
});
String getNumber=”“;
getNumber=“var np=document.getElementById('postingbody'),t+
“如果(np&&np.innerHTML){”+
“t=String(np.innerHTML).match(/(\\d{3})\\-(\\d{3})\\-(\\d{4})/g);”+
“如果(t&&t.length>0){”+
“返回t[0];”+//显示找到的第一个数字
“}否则{”+
“return 1;”+//返回整数(自定义错误1)
" }"+
“}否则{”+
“return 2;”+//返回整数(自定义错误2)
"}";
evaluateJavascript(getNumber,newvaluecallback(){
@凌驾
公共void onReceiveValue(字符串s){
Log.d(“LogName”,s);
}
@凌驾
接收值上的公共void(int s){
如果(s==1){//自定义错误1
日志d(“日志名”,“未找到电话号码”);
}如果(s==2){//自定义错误2
Log.d(“LogName”,“未找到postingbody(DOM元素”);
}
}
});
Tx.I尝试这样做,电话号码在标签内,而不是电话标签Ex:拥有一辆漂亮的本田雅阁Ex,行驶147k英里,驾驶和跑步都很棒。A/C和加热效果很好,只是更换了火花塞、机油、变速箱滤清器和油液,egr轨道已清洁,egr已清洁,但需要一个新的。有一个非常好的新jvc sterio和remote,它需要一个新的所有者只在网上打电话不太多Bobby 817-913-1274@user3254031添加你的html你的问题(只有得到电话的部分)。@user3254031好的,你需要javascript中的regexp。我来看看我能做些什么。@user3254031我编辑我的回答。我试试看。。。。