Immer "BadTokenException: kann Nicht hinzufügen-Fenster', wenn Sie versuchen, um zu zeigen, Facebook-dialog - Android

Bin ich immer ein Schlechtes Token Ausnahme, wenn Sie versuchen, um zu zeigen, das veröffentlichen auf Wand-dialog aus dem Facebook-SDK(Es passiert jedes 2 mal ich die app starte).

Habe ich eine Schaltfläche "veröffentlichen", und Ihre Aufgabe ist es zu zeigen, der dialog, wenn der Benutzer angemeldet ist, auf seinem FB-Konto, oder den login-dialog(und dann sofort der "post-wall" - dialog), wenn der Benutzer nicht angemeldet in seinem Konto.

Hier ist die auf Klick-listener der Schaltfläche "Veröffentlichen" -

    mPostButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            if(mLoginButton.getVisibility() == 0)
                postOnWall();
            else
                mLoginButton.performClick();
        }
    });  

Hier ist die onAuthSucceed () - listener -

public void onAuthSucceed() {
    postOnWall();
}

Hier ist die PostOnWall Funktion(zeigt das Dialogfeld "veröffentlichen") -

 public void postOnWall()
 {
    Bundle params = new Bundle();
    params.putString("name", FBname);
    params.putString("link", FBlink);
    params.putString("description", FBdescription);
    params.putString("picture", FBpicture);
    con = this;
    mFacebook.dialog(con, "feed", params, new SampleDialogListener());
 }

Hier ist der log von dem Fehler -

 05-05 16:25:09.601: WARN/WindowManager(109): Attempted to add application window with unknown token HistoryRecord{405416b0 android.alco/.do_drive}.  Aborting.
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@405db9f8 is not valid; is your activity running?
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.view.ViewRoot.setView(ViewRoot.java:527)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.view.Window$LocalWindowManager.addView(Window.java:424)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.app.Dialog.show(Dialog.java:241)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at com.facebook.android.Facebook.dialog(Facebook.java:622)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.alco.do_drive.postOnWall(do_drive.java:258)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.alco.do_drive$SampleAuthListener.onAuthSucceed(do_drive.java:172)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.alco.SessionEvents.onLoginSuccess(SessionEvents.java:78)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at android.alco.LoginButton$LoginDialogListener.onComplete(LoginButton.java:100)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at com.facebook.android.Facebook$1.onComplete(Facebook.java:308)
 05-05 16:25:27.292: ERROR/AndroidRuntime(20089):     at com.facebook.android.FbDialog$FbWebViewClient.shouldOverrideUrlLoading(FbDialog.java:133)

Ich habe überall gesucht und ich finde keine Lösung.

BEARBEITEN - Dies geschieht nur, wenn der Benutzer nicht eingeloggt ist. In diesem Fall drückt er die Schaltfläche "veröffentlichen", meldet sich an, und dann das "postOnWall" - Funktion aufgerufen, die generiert den Fehler. Ich arbeite für 2 Tage jetzt, und konnte nichts finden, es.

Dank!

  • BadTokenException fast immer zu tun hat mit der Context Sie übergeben. Was ist Ihre this Zeiger?
  • Es ist die Aktivität der Kontext, nicht der Anwendung. Wenn ich die Anwendung Kontext eine andere Fehlermeldung auftauchen würde. Dies ist nicht der Fall.
InformationsquelleAutor Tofira | 2011-05-05
Schreibe einen Kommentar