Android WebView для кнопки «Мне нравится» в Facebook

Я пытаюсь сделать функциональность, подобную facebook, в Android WebView (спецификация проекта не позволяет открывать браузер или выполнять какие-либо действия вне приложения ).

Итак, ограничения заключаются в том, что это нужно делать в WebView. Мне удалось сделать это диалоговым окном, и пользователь apon нажимает кнопку «Нравится», он (WebView) успешно перенаправляется (в том же представлении) на страницу входа в facebook. После успешной аутентификации WebView (в диалоговом окне) перенаправляется на пустую страницу с заголовком facebook.

Достаточно интересно, когда пользователь покидает пустое диалоговое окно и снова нажимает кнопку «Нравится», он работает отлично (как и в отличие от) - он каким-то образом сохраняет активную аутентификацию. Чтобы разрешить пустую страницу, я пробовал / использовал следующее:

  • с помощью WebViewClient и shouldOverloadUrlForwarding , чтобы весь процесс оставался в том же диалоговом окне WebView .
  • ] с помощью WebChromeClient для правильного выполнения JavaScript - без этого после входа в систему невозможно понравиться / отличаться.
  • попытался использовать setUserAgentString () для имитации других браузеров, таких как Chrome или Firefox
  • попытался обработать сертификат SSL Error (на уровне API 8) (на WebViewClient )

    @Override public void onReceivedSslError (представление WebView, обработчик SslErrorHandler, ошибка SslError) { handler.proceed (); }

  • с использованием (и всех их возможных комбинаций)

    webView.getSettings (). SetAppCacheEnabled (true); webView.getSettings (). setJavaScriptEnabled (истина); webView.getSettings (). setJavaScriptCanOpenWindowsAutomatically (true);

  • Пробовал также сохранять файлы cookie с помощью CookieSyncManager , CookieManager и обрабатывать вручную.

Все это безрезультатно. Я действительно ценю любую помощь!

20
задан Stefan 24 February 2011 в 17:18
поделиться