Sono novizio per lo sviluppo Android e questo client webview e webview mi sta uccidendo. Questo è il mio scenario:Android non è in grado di implementare il commento di Facebook in una webview a causa del browser predefinito
- devo caricare una pagina web che contiene Facebook social plugin (utilizzato per commentare su quel particolare URL) e sto usando WebView per esso
- Quando l'utente fa clic commento utilizzando Facebook, ha/lei deve essere data pagina di login sullo stesso visualizzazione web (invece di apertura del browser di default)
- E una volta che l'accesso riesce, la prima pagina (quella che contiene social plugin) deve essere visualizzato permettendo all'utente di commentare
Quello che devo fare è emulare il processo di lavoro delle sopracciglia e cioè l'utente quando effettua il login, riceve automaticamente il permesso di aggiungere commenti su Facebook.
Il mio problema:
non so come ottenere tutta l'autenticazione dal browser e reindirizzare di nuovo al mio app WebView. Quello che voglio è fare tutto il processo nella mia webview dell'app piuttosto che andare al browser predefinito.
Ho controllato tutte le domande di overflow dello stack e la maggior parte consiglia di utilizzare i plugin di Facebook open source come Facebook Connect e Facebook Android SDK. Inoltre ho ricevuto alcune informazioni su CookieManager
, CookieSyncManager
, WebViewClient
, WebChromeClient
ma non ho potuto implementare sul mio problema. E la più vicina che ho trovato è questo:
How to handle facebook like with confirm in android webview
Così la gente se potesse puntare nella direzione giusta, sarei molto contento. Sto ancora cercando di capire come fare tutta l'azione su una webview e se qualcosa verrà pubblicato sicuramente.
Grazie in anticipo
Aggiornamento
ho potuto implementare solo facebook
login ma non potevano implementare AOL
, Hotmail
e Yahoo
login. Per facebook
login basta creare una WebViewClient costume e sul metodo di shouldOverrideUrlLoading
if(url.contains("https://www.facebook.com/connect/window_comm.php")){
webView.clearHistory();
webView.loadUrl(remoteUrl);
}
return false;
per consentire l'accesso multiplo ho implementato seguente tecnica, ma non funziona
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;
sto ancora facendo del mio meglio per trovare il soluzione, e chiunque là fuori mi avrebbe guidato nella giusta direzione che sarebbe grato. Grazie in anticipo
cosa dovrebbe essere requestUrl in questo codice .. –
Devo installare qualsiasi jar nella cartella lib? –
Si continua a rinfrescare la pagina dopo aver effettuato l'accesso. – Minion