2013-12-11 31 views
0

我正在通過點擊鏈接檢測webview內部的web網址,它應該打開外部應用程序的網址。無法檢測android內webview內的http url url

我的代碼如下: -

content=getContentData(); 
    final String mimeType = "text/html"; 
    final String encoding = "UTF-8"; 
    webViewDetails.getSettings().setJavaScriptEnabled(true); 
    webViewDetails.loadDataWithBaseURL("", content, mimeType, encoding, ""); 

收到錯誤: - 網頁無法

在此先感謝....

enter image description here

enter image description here

=== 如果我使用下面的代碼,然後顯示如下圖所示: -

SpannableString sp = new SpannableString(content); 
Linkify.addLinks(sp, Linkify.WEB_URLS); 
final String data = Html.toHtml(sp); 
final String mimeType = "text/html"; 
final String encoding = "UTF-8"; 
webViewDetails.getSettings().setJavaScriptEnabled(true); 
webViewDetails.loadDataWithBaseURL("", data, mimeType, encoding, ""); 

enter image description here

+2

您是否在AndroidManifest.xml文件中添加了Internet權限? – Piyush

+0

'' –

+0

@TomaszGawel,是的,許可已經添加。 – jagdish

回答

0

而不是使用雙引號嘗試在代碼中使用單引號,

<a href='http://basecamp.com'>http://basecamp.com</a>

0

您需要覆蓋WebViewClient的實現(shouldOverrideUrlLoading方法),如下面的演示所示:

我希望這會幫助你和所有! :)

+0

感謝您的回覆,但我沒有url只是來自webservice.so的內容來自它的字符串格式。 – jagdish

+0

這也適用於你的情況。因爲,正如你所說的,你正在從Web服務獲得響應(這意味着你正在獲取可直接加載到Web視圖中的HTML)。當你在你的'WebView'中成功加載它時,你點擊上面提到的'URL',然後'shouldOverrideUrlLoading'處理這個請求。 –