Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在web view android中捕获电话号码_Android - Fatal编程技术网

如何在web view android中捕获电话号码

如何在web view android中捕获电话号码,android,Android,我创建了一个JSON解析器来捕获数据并显示在listview中。然后在webview中打开其中一个url。现在,我想在该网络视图中捕获电话号码以拨打电话。那么如何在该网络视图中捕获电话号码呢?使用evaluateJavascript,试试: String getNumber = ""; getNumber = "var np = document.getElementById('postingbody'), t;"+ "if(np && np.innerHTML)

我创建了一个JSON解析器来捕获数据并显示在listview中。然后在webview中打开其中一个url。现在,我想在该网络视图中捕获电话号码以拨打电话。那么如何在该网络视图中捕获电话号码呢?

使用evaluateJavascript,试试:

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我编辑我的回答。我试试看。。。。