Я новичок в разработке для Android, и этот клиент для веб-просмотра и веб-просмотра убивает меня.Это мой сценарий:
- Мне нужно загрузить веб-страницу, которая содержит плагин социальной сети Facebook (используется для комментирования этого конкретного URL), и я использую WebView для него
- Когда пользовательнажимает на комментарий с помощью Facebook, ему / ей должна быть предоставлена страница входа в тот же веб-просмотр (вместо открытия браузера по умолчанию)
- И после успешного входа в систему должна быть открыта первая страница (содержащая социальный плагин).отображается, позволяя пользователю комментировать
Что мне нужно сделать, так это эмулировать рабочий процесс браузера, т.е. пользователю, когда он входит в систему, ему / ей автоматически предоставляется разрешение на добавление комментария на Facebook.
Моя проблема:
Я не знаю, как получить всю аутентификацию из браузера и перенаправить ее обратно в веб-просмотр моего приложения.Я хочу выполнить весь процесс в веб-просмотре моего приложения, а не в браузере по умолчанию.
Я проверил все вопросы о переполнении стека, и большинство из них советуют использовать плагины Facebook с открытым исходным кодом, такие как Facebook connect и FacebookAndroid SDK.Кроме того, я получил некоторую информацию о CookieManager
, CookieSyncManager
, WebViewClient
, WebChromeClient
, но я не смог реализовать свою проблему.И самое близкое, что я нашел, это:
Как работать с Facebook, как с подтверждением в веб-просмотре Android
Так что, если бы вы могли указать мне в правильном направлении, я быбудь очень рад.Я все еще пытаюсь понять, как выполнить все действия в веб-просмотре, и если что-нибудь произойдет, я обязательно напишу.
Заранее спасибо
Обновление
Я мог реализовать только facebook
логин, но не смог реализовать AOL
, Hotmail
и Yahoo
логин.Для facebook
входа в систему просто создайте пользовательский WebViewClient и включите метод shouldOverrideUrlLoading
if(url.contains("https://www.facebook.com/connect/window_comm.php")){
webView.clearHistory();
webView.loadUrl(remoteUrl);
}
return false;
Чтобы разрешить множественный вход в систему, я применил следующую технику, но она не работает
if(url.contains("https://www.facebook.com/connect/window_comm.php")){
String cookieString = cookieManager.getCookie("facebook.com");
if(cookieString != null){
cookieManager.setCookie("remoteUrldomain.com", cookieString);
CookieSyncManager.getInstance().sync();
webView.clearHistory();
webView.loadUrl(remoteUrl);
}
}
return false;
Я все ещесделаю все возможное, чтобы найти решение, и любой, кто там будет, направит меня в правильном направлении, который будет благодарен.Заранее спасибо