android - WebViewClient.shouldOverrideUrlLoading 给出无效的 url

标签 android webview android-webview android-websettings

我正在将 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 的这种行为。

最佳答案

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

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;
        }
});

关于android - WebViewClient.shouldOverrideUrlLoading 给出无效的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29507482/

相关文章:

android - 如何在android中获取媒体文件的Uri?

android - FFmpeg可执行文件Chmod权限

android - WebView 不会在 Lollipop 设备上显示 JSAlert

javascript - 无法从 Javascript 重新加载 Android WebView

android - 从联系人获取 IM 属性

java - 关闭应用程序而不是转到上一个 Activity

android - 在两个 webview 之间共享 session ?

android - 无法在 webView 中加载 360(也是 VR)图像

android - 较小的 APK 大小和较大的 Assets ?

javascript - 单击链接时从 Android WebView 中的 anchor 标记获取 href 值