Facebook上的Facebook喜欢在webview上登录后显示空白屏幕 [英] facebook like on webview android shows blank screen after login

查看:315
本文介绍了Facebook上的Facebook喜欢在webview上登录后显示空白屏幕的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用facebook html像我的应用程序一样打开像这样的网络视图 https: //developers.facebook.com/docs/plugins/like-button/

I utilize the facebook html like for my app to open a webview like this https://developers.facebook.com/docs/plugins/like-button/

网络视图显示了一个喜欢和分享按钮,但在我登录Facebook之后,它不会返回到Like和Share按钮,但是一个空白页面,共享按钮工作正常。

The webview shows a Like and Share button, but after I login to facebook, it doesnt return to the Like and Share button, but a blank page, the share button works fine.

那么如何在登录后返回到Facebook的URL?

So how do I return to the facebook like url after logging in?

public class LikeFacebookActivity extends BaseActivity {

    private WebView webView;
    private final String URL = "facebookIDhere";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.like_facebook_webview);

        webView = (WebView) findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setAppCacheEnabled(true);
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

        showLoading();
        webView.setWebViewClient(new MyWebViewClient());

        webView.loadUrl(URL);


        ActionBar actionbar = getActionBar();
        actionbar.setCustomView(R.layout.actionbar_top_like_facebook);
        actionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

        Button backButton = (Button) findViewById(R.id.buttonGeneralBack);

        backButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });
    }

    @Override
    public void onBackPressed() {
        finish();
        overridePendingTransition(R.anim.animation_slide_from_left,
                R.anim.animation_slide_to_right);
    }

    public class MyWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {         
            if(url.contains("something")) return true;
            return false; 
        }
        public void onPageFinished(WebView view, String url) {
            hideLoading();
        }
    }

}


推荐答案

我已经解决了这个问题,只需使用system.out.println来查看在

I have solved this, just use system.out.println to see which page does facebook load after loggin in

public class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {         
        if(url.contains("something")) return true;
        return false; //Default is to not override unless our condition is met.
    }
    public void onPageFinished(WebView view, String url) {
        hideLoading();
        //String webUrl = webView.getUrl();
        //System.out.println(webUrl);
        if(url.startsWith("https://www.facebook.com/plugins/close_popup.php#_=_")){
            String redirectUrl = URL;
             view.loadUrl(redirectUrl);
            return;
        }
         super.onPageFinished(view, url);
    }
}

这篇关于Facebook上的Facebook喜欢在webview上登录后显示空白屏幕的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆