【问题标题】:Not able to open Facebook Messages in Android Webview无法在 Android Webview 中打开 Facebook 消息
【发布时间】:2017-09-25 07:45:04
【问题描述】:

这就是我初始化 Web 视图的方式

    webview1.getSettings().setJavaScriptEnabled(true);
    webview1.loadUrl("https://www.facebook.com/raquel.corpusescalante");
    webview1.setWebViewClient(new WebClientClass());
    webview1.setWebChromeClient(new WebChromeClient());

这是 WebClient 类

public class WebClientClass extends WebViewClient {
    ProgressDialog pd = new ProgressDialog(WebViewGeneralActivity.this);

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
        if (pd != null && !pd.isShowing()) {
            pd.setTitle("Por favor espera");
            pd.setMessage("Cargando...");
            pd.show();
        }

    }
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        pd.dismiss();
    }
}

这个 facebook 个人资料页面完全加载,但是当我点击消息图标时它显示错误

这可能是什么原因

【问题讨论】:

    标签: android facebook webview messenger


    【解决方案1】:

    实际上它试图在 web 视图中打开 facebook messenger,它会在 web 视图中发送一个意图链接,即意图://用户 .... 所以我通过更改代码来处理它

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
       if(!(url.startsWith("intent"))){
        view.loadUrl(url);
       }
        return true;
    }
    

    【讨论】:

    • 超级完美的 100% 工作答案和源代码。谢谢
    • 知道如何在 Flutter/Dart 中做同样的事情吗?
    猜你喜欢
    • 2011-10-23
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    相关资源
    最近更新 更多