Ich habe eine Anwendung, die eine Webansicht enthält. In der Webansicht muss sich der Benutzer über die Standard-Login-Schaltfläche und die Authentifizierung bei Facebook anmelden. Nachdem der Benutzer sich in der Webansicht angemeldet hat, enthält die OAUTH-Handshake-URL den Fehler "Zugriff verweigert ... Benutzer wurde abgelehnt". Wenn ich jedoch die gleiche URL im Kern-Browser besuche, funktioniert alles wie erwartet und der Benutzer wird erfolgreich eingeloggt. Ich gehe davon aus, dass es einige Methoden gibt, die ich im WebViewClient oder WebChromeClient implementieren muss, um meiner Webansicht volle Browserfähigkeit zu geben. Ich weiß jedoch nicht, was ich tun soll. Gedanken?Android WebView mit Facebook Login
5
A
Antwort
2
Nun können Sie das Facebook SDK für Ihre Implementierung verwenden.
im Grunde in einer Webansicht haben sie ihre Inhalte wie diese
gezeigtprivate void setUpWebView(int margin) {
LinearLayout webViewContainer = new LinearLayout(getContext());
mWebView = new WebView(getContext());
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);
mWebView.setWebViewClient(new FbDialog.FbWebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl(mUrl);
mWebView.setLayoutParams(FILL);
mWebView.setVisibility(View.INVISIBLE);
mWebView.getSettings().setSavePassword(false);
webViewContainer.setPadding(margin, margin, margin, margin);
webViewContainer.addView(mWebView);
mContent.addView(webViewContainer);
}
private class FbWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Util.logd("Facebook-WebView", "Redirect URL: " + url);
if (url.startsWith(Facebook.REDIRECT_URI)) {
Bundle values = Util.parseUrl(url);
String error = values.getString("error");
if (error == null) {
error = values.getString("error_type");
}
if (error == null) {
mListener.onComplete(values);
} else if (error.equals("access_denied") ||
error.equals("OAuthAccessDeniedException")) {
mListener.onCancel();
} else {
mListener.onFacebookError(new FacebookError(error));
}
FbDialog.this.dismiss();
return true;
} else if (url.startsWith(Facebook.CANCEL_URI)) {
mListener.onCancel();
FbDialog.this.dismiss();
return true;
} else if (url.contains(DISPLAY_STRING)) {
return false;
}
// launch non-dialog URLs in a full browser
getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
Verwandte Themen
- 1. Android Webview und Facebook Login funktioniert nicht
- 2. Android WebView mit Facebook Wie Funktionalität
- 3. Facebook Android-Fragment Login
- 4. Login facebook in Android mit REST API
- 5. Facebook-Login-Dialog beenden Android
- 6. Android Facebook Login funktioniert nicht
- 7. So automatisieren Facebook Login-Test mit Appium in Android
- 8. Facebook-Login in Android implementieren
- 9. Facebook Login mit Fragment
- 10. java - Implementiere Facebook Login mit Android Studio und Facebook SDK
- 11. Problem mit WebView in Android aufgrund von Pop-up von Facebook Login
- 12. Chamilo Login mit Facebook
- 13. Facebook Login mit Access
- 14. Phonegap mit Facebook Login
- 15. NSUserDefaults mit Facebook Login
- 16. Facebook Login mit Express
- 17. Android Facebook sdk Login Vermeidet das Webview-Client-Popup und die Verwendung einer benutzerdefinierten Aktivität mit Login und Passwort
- 18. Post Login Daten Webview
- 19. Google-Login-Konflikte mit Facebook-Login
- 20. Facebook Login: -canopenurl Problem mit Facebook SDK?
- 21. Wordpress Facebook Login in Android App
- 22. Android Facebook Login und zum Webserver
- 23. Benutzerdefinierte facebook Login-Taste in android Studio
- 24. Android Studio 1.1.0 Facebook SDK Login
- 25. Facebook Login nicht einloggen nach Abmelden Android
- 26. Login mit zusätzlicher Erlaubnis mit Facebook SDK 3 für Android
- 27. Facebook-Login android sdk v4 abbrechen
- 28. Facebook Login in Fragment in Android
- 29. Android Facebook Login-Bildschirm keine Tastatur
- 30. Android Studio - Facebook Login Schaltfläche Renderfehler
hey .. haben Sie jemals zu dieser Lösung? Ich stehe einem ähnlichen Problem gegenüber, kann aber keine gute Ressource finden, um es zu lösen. –
Können Sie ein Codebeispiel dafür hinzufügen? –