Я пытаюсь сделать facebook как функциональность в Android WebView (спецификация проекта не позволяет открывать браузер или любую активность приложения).
Таким образом, ограничения заключаются в том, что это нужно делать в WebView. Мне удалось сделать это диалогом, и пользователь apon нажмет на кнопку, он (WebView) перенаправляет успешно (в том же представлении) на страницу входа в facebook. После успешной аутентификации WebView
(в диалоговом окне) перенаправляется на пустую страницу с заголовком facebook.
Интересно, что когда пользователь покидает пустой диалог и снова нажимает на подобную кнопку, он отлично работает (как и в отличие от него) - он как-то активирует аутентификацию. Чтобы устранить пустую страницу, я попытался/использовал следующую команду:
- с помощью
WebViewClient
иshouldOverloadUrlForwarding
, чтобы сохранить весь процесс в том же диалоговом окнеWebView
. - с помощью
WebChromeClient
для правильного выполнения JavaScript - без него после входа в систему невозможно использовать/не похоже. - попробовал использовать
setUserAgentString()
для имитации других браузеров, таких как Chrome или Firefox. -
попробовал обработку сертификата SSL-сертификата (в уровне API 8) (at
WebViewClient
)@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); }
-
используя (и все возможные комбинации)
webView.getSettings().setAppCacheEnabled(true); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
-
Пробовал также сохраняющиеся файлы cookie с
CookieSyncManager
,CookieManager
и вручную.
Все это было безрезультатно. Я действительно ценю любую помощь!