Android webview

时间:2015-06-11 07:02:21

标签: javascript android facebook webview

当我打开webview并单击Facebook共享时,它可以正常工作。 但是当共享完成后,它会打开一个空白页面。

有时,它不会打开空白页面并显示原始页面。但通常会打开空白页。

我想显示包含分享按钮的页面。总是

这是我的代码:

   //in onCreate.
    String Url = //my url//;
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    view = (WebView) this.findViewById(R.id.webView);
    view.getSettings().setDomStorageEnabled(true);
    view.getSettings().setSupportZoom(true);
    view.getSettings().setBuiltInZoomControls(true);
    view.getSettings().setUseWideViewPort(true);
    view.getSettings().setJavaScriptEnabled(true);
    view.getSettings().setAppCacheEnabled(true);
    view.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    view.getSettings().setAllowFileAccess(true);
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
        CookieManager.getInstance().setAcceptThirdPartyCookies(view, true);
    }

    view.loadUrl(Url);

    view.setWebViewClient(new myWebViewClient());
    view.setWebChromeClient(new ChromeClient());
    //

    private class ChromeClient extends WebChromeClient{

    @Override
    public void onProgressChanged(WebView view, int newProgress) {

        MainActivity.this.setProgress(newProgress*1000);
    }
    public void onCloseWindow(WebView window){
       super.onCloseWindow(window);
    }

这是javascript代码:

    function fn_facebook_share() {
    var url = //my url//;
    var title  = "${VideoModelDetail.title}";
    var user_nm= "${VideoModelDetail.user_nm}";
    var univ="${VideoModelDetail.univ_cd_nm}";

    FB.ui({
          method: 'feed',
          link: url,
          name:title,
          caption:univ+" | "+user_nm,
          description:'text',
        }, function(response){});
}

1 个答案:

答案 0 :(得分:0)

尝试将您的webview移动到xml布局文件。在将oAuth登录重定向到授权接受页面时,由于js脚本失败导致空白页错误。你可以通过将webview移动到xml布局来解决这个问题。我的android应用程序遇到了同样的问题。问题的原因是FB登录javascript在新窗口中打开一个新页面