在我的 android 应用程序中,用户可以喜欢我的 facebook 页面。因此,我使用一个 webview 来加载一个网页,该网页包含一个类似 facebook 的框。该页面已很好地加载到 webview 中,然后发生以下情况:
- WebView 使用类似 facebook 的框加载我的网页
- 通过点击 Like 按钮,用户被重定向到 facebook 登录页面
- 登录后,用户再次重定向回我的自定义喜欢页面
- 但是当点击like按钮时,用户再次被重定向到facebook登录页面
所以我希望,登录后可能会发生类似的事情。似乎webview不记得登录了。因此,我该怎么做才能修复它。
以下屏幕截图序列显示了正在发生的事情:

我想避免使用 facebook sdk for android!特别是这个程序在我的 iphone 版本的应用程序中效果很好。
这是一些用于实现我想要的功能的代码:
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final WebView fbWebView = (WebView) findViewById( R.id.facebookWebView );
        fbWebView.getSettings().setJavaScriptEnabled(true);
        fbWebView.setWebViewClient( new WebViewClient() {
            @Override
            public WebResourceResponse shouldInterceptRequest (WebView view, String url) {
                Log.d("call url", url );
                if ( url.contains("login.php?skip_api_login") ) {
                    fbWebView.loadUrl("http://www.example.de/iphone_facebook_like_page.html");
                    return null;
                }
                if( url.contains("user_successfully_liked") ) 
                    fbWebView.loadUrl("http://www.example-success.de");
                return null;
            }
        });
        fbWebView.loadUrl("http://www.example.de/iphone_facebook_like_page.html");
    }
编辑:我还尝试了以下方法来接受 cookie,但这些都不起作用
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        CookieSyncManager.createInstance(this);
        CookieSyncManager.getInstance().startSync();
        CookieManager.setAcceptFileSchemeCookies(true);
        CookieManager.getInstance().setAcceptCookie(true);
        //rest is the same...
压倒一切也没有用
@Override  
      public boolean shouldOverrideUrlLoading(WebView view, String url)  
      {  
        view.loadUrl(url);  
        return true;  
      }