2014-01-30 38 views
-1

我創建了一個JSON解析器來捕獲數據並顯示在列表視圖中。然後我在webview中打開一個url。現在我想在該webview中捕獲電話號碼以撥打電話。那麼我怎樣才能在該webview中捕獲電話號碼?如何在Web視圖中捕獲電話號碼android

回答

0

使用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"); 
     } 
    } 
}); 
+0

Tx.I嘗試這個,電話號碼是

標籤,而不是電話標籤防爆內:<節ID = 「postingbody」> \t \t有一個不錯的本田與ex 147k英里上,它驅動器和運行很好。 A/C和熱量工作很好,只是有火花塞,油,傳輸過濾器和流體改變egr軌道清洗egr清洗,但需要一個新的。有一個非常漂亮的新jvc sterio遙控器,它需要一個新的所有者只打電話不在網上那麼多博比817-913-1274 \t
user3254031

+0

@ user3254031添加您的html問題(只有部分獲得電話)。 –

+0

@ user3254031好的,你需要javascript中的正則表達式。我會看看我能做什麼。 –