Android facebook sdk login error 1118578

Tout fonctionnait bien, jusqu'à ce que je voulais vérifier ce qui se passe si l'utilisateur clique sur le bouton Connexion avec Facebook sans connexion Internet disponible.

Un toast est apparu en disant:

  • Ouvrez la page Facebook depuis l'application Android (dans la version facebook> v11)
  • Comment se connecter via HTTPS à l'aide de Jsoup?
  • Le hash de la clé ne correspond pas tant que le login de Facebook dans Android
  • Android RatingBar montre la superposition noire sur certains périphériques
  • Comment créer un fichier PDF à partir de Webview dans Android?
  • Comment enregistrer le rappel de l'App Invite Dialogue
  • Échec de la connexion. Contactez le fabricant de cette application et demandez-leur de signaler le numéro # 1118578 à Facebook.

    Dans le logcat j'ai:

    D / Facebook-authorize (2824): connexion annulée par l'utilisateur.

    J'ai essayé de me débarrasser de ce toast et d'afficher mon propre message d'erreur dans la méthode onCancel() , mais je ne peux pas trouver un moyen de désactiver ce toast. Lorsque j'ai activé WiFi, l'enregistrement unique n'a plus fonctionné!

    Quelle pourrait être la cause de cela?

      private void fbLogin() { facebook.authorize(this, new String[] { "email" }, new DialogListener() { @Override public void onComplete(Bundle values) { app.save("fb_token", facebook.getAccessToken()); app.save("fb_expire", facebook.getAccessExpires()); mAsyncRunner.request("me", new meRequestListener()); } @Override public void onFacebookError(FacebookError error) {} @Override public void onError(DialogError e) {} @Override public void onCancel() {} }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); facebook.authorizeCallback(requestCode, resultCode, data); } 

    MODIFIER:

    Pour répondre à ma propre question, supprimez android:launchMode="singleInstance" du manifeste dans <activity> résolu le problème # 1118578.

    Cependant, j'ai besoin de l' android:launchMode="singleInstance" pour la connexion Twitter OAuth, car le navigateur transmet les données à l'activité via New Intent. Si je ne fournit pas android:launchMode="singleInstance" dans le manifeste, une nouvelle activité est lancée et elle ne reçoit pas le vérificateur OAuth.

    Existe-t-il un moyen d'utiliser Facebook et Twitter dans la même activité? La seule solution à laquelle je pense est d'utiliser une activité fictive pour Twitter4j avec singleInstance .

    One Solution collect form web for “Android facebook sdk login error 1118578”

    Ma façon de remédier à cela a été en changeant le rappel dans Twitter, depuis "twitter: // rappel" vers "http: // localhost / callback" et supprimez android: launchMode = "singleInstance" et le filtre intentionnel de Twitter à partir du manifeste.

    Je peux toujours obtenir la réponse dans le WebView (plutôt que sur onResume () comme précédemment):

     yourwebview.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { // your_callback == http://localhost/callback if(url == null || !url.startsWith(your_callback)) return; Uri uri = Uri.parse(url); String ov = uri.getQueryParameter("oauth_verifier"); AccessToken at = null; ... 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.