Я пытаюсь сделать 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и вручную.
Все это было безрезультатно. Я действительно ценю любую помощь!