2011-08-10 40 views
0

下面的代碼已經完美工作了幾個月,但在過去的幾天裏它不工作。有沒有其他人有這個問題,或者我做錯了什麼?從android不能正常工作發佈到您的牆?

Button fb1 = (Button) dialog.findViewById(R.id.shareFb); 
      fb1.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 

        facebook.authorize(DisplaySaved.this, 
          new String[] { "publish_stream" }, 
          new DialogListener() { 
           public void onComplete(Bundle values) { 
            Bundle parameters = new Bundle(); 
            parameters.putString("message", strChangedStory + ".. " + 
              "www.X-Appz.com/AppLibs/ShowStory.aspx?storyID=" + xRex + " to read the rest of the story!"); 
            facebook.dialog(DisplaySaved.this, 
              "stream.publish", parameters, 
              this); 
           } 

           @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); 
} 

而且誰能告訴我一次「共享」按鈕被按下我怎麼可以把它刪除了Facebook對話屏幕,並返回到以前的?

回答

1

1)您的FB發佈可能會被破壞,因爲FB可能已經禁用了您的應用程序 - 他們的政策聲明「消息」不應該包含任何程序化Feed,它只應包含用戶輸入的狀態。所有自動化數據應通過「附件」進行。嘗試去FB,看看你的應用程序是否仍然存在。

2)要退出你的FB對話窗口用戶按下共享或取消後,只需將以下代碼添加到的onComplete -

if (values.isEmpty() || values.containsKey("post_id")) { 
      if(values.containsKey("post_id")){ 
       Toast.makeText(this, "Your content has been Published", 
         Toast.LENGTH_SHORT).show(); 
      } 
      System.out.println("******QFP - going out********"); 
      finish(); 
      return; 
     }