Android WebView für Facebook Schaltfläche "Gefällt mir"
Ich versuche, mich facebook like-Funktionalität in Android WebView (Projekt-Spezifikation nicht erlaubt, browser öffnen, oder jede aus der Anwendung heraus Aktivität).
So, die Einschränkungen sind, dass es getan werden in der WebView. Ich habe es geschafft, machen es zu einem dialog, und apon Benutzers klicken Sie auf like-button, es (WebView) leitet erfolgreich (in derselben Ansicht) zu facebooks login-Seite. Nach erfolgreicher Authentifizierung, die WebView
(in einem Dialogfeld) weitergeleitet leere Seite mit facebook header.
Interessanterweise, wenn der Benutzer verlässt das leere Dialogfeld, und klicken Sie erneut auf den like-button funktioniert es wie perfekt (wie und im Gegensatz zu) - es irgendwie hält-Authentifizierung aktiv ist. Lösen Sie die leere Seite, ich habe versucht/verwendet folgende:
- mit
WebViewClient
undshouldOverloadUrlForwarding
zu halten gesamte Prozess in der gleichenWebView
dialog. - mit
WebChromeClient
richtig JavaScript auszuführen - ohne dass es nach dem login nicht möglich wie/anders als. - versucht, mit
setUserAgentString()
zu simulieren, andere Browser wie Chrome oder Firefox - versucht, das SSL-Zertifikat Fehler-handling (in API-level 8) (
WebViewClient
)@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
} - verwenden (und alle möglichen Kombinationen dieser)
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); - Versucht auch die persistenten cookies mit
CookieSyncManager
CookieManager
und manuelles handling.
All dies war ohne Ergebnis. Ich Schätze alle Hilfe!
InformationsquelleAutor der Frage Stefan | 2011-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Vergangenheit in die leere Seite, Sie dies tun:
InformationsquelleAutor der Antwort Blundell
Ich hatte das gleiche Problem auf meinem android-Anwendung. Die Ursache des Problems ist der FB login javascript öffnet sich eine neue Seite in einem neuen Fenster. Dann versucht er, um es zu schließen nach dem login Erfolg. Bitte Folgen Sie fließenden Beispiel aus meiner Arbeit-codes.
Den
Webview
id "webview" ist die Hauptansicht für "eigene Inhalte". Unten ist meine Aktivität-codes.Den Schlüssel für dieses Problem ist
onCreateWindow
. Ein neues Fenster wird erstellt und eingefügt, um die frame-layout und entfernt auf Erfolg. Ich fügte hinzu, die Beseitigung aufshouldOverrideUrlLoading
.InformationsquelleAutor der Antwort Ken You
Hatte ich durch die Arbeit dieser fast genau das gleiche problem auf dem iPhone. Was ich tun musste, war die Anforderung abfangen können, dass die webview lässt, um die 'leere Seite', die Sie oben beschrieben haben, und stattdessen sagen die webview laden, wie URL.
InformationsquelleAutor der Antwort Logan
Nicht bei mir funktioniert:(, aber die form der Beobachtung sehe ich das falsch umgeleitet link begann mit
InformationsquelleAutor der Antwort Jozic