1

我将WebView内容设置为;

String displayBodyText = "<a href="scheme:/user_abd/data?q=from%3A%22ammar%40mydomain.com%22#title=%40Ammar%20">Ammar</a>"
webView.loadData(displayBodyText , "text/html", "utf-8");

并将其设置WebViewClient为;

linkDetailWebView.setWebViewClient(new WebViewClient() {
                        @Override
                        public boolean shouldOverrideUrlLoading(WebView view, String url) {
                            Log.d("TAG", url);
                            return true;
                        }
                    });

单击数据中的链接时,我得到scheme:/user_abd/data?q=from:的不是scheme:/user_abd/data?q=from%3A%22ammar%40mydomain.com%22#title=%40Ammar%20.

我无法得到这种行为WebView

4

2 回答 2

1

试试这个代码,我检查过它对我有用

String displayBodyText = "<a href=\"scheme:/user_abd/data?q=from:&#34;ammar@mydomain.com&#34;#title=@Ammar\">Ammar</a>";
web_view.loadData(displayBodyText , "text/html", "utf-8");

Webview 客户端

web_view.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            String m_url = URLDecoder.decode(url);
            Log.e("TAG",m_url);

            return true;
        }
});
于 2015-04-08T06:53:41.923 回答
0

您必须从字符串中转义无效字符:

String displayBodyText = "<a href=\"scheme:/user_abd/data?q=from%3A%22ammar%40mydomain.com%22#title=%40Ammar%20\">Ammar</a>";

你不能在字符串中使用双引号而不对其进行转义:Escape double quotes in Java

于 2015-04-08T06:37:18.410 回答