2016-10-28 90 views
-1

我被困在一个我认为应该很简单的问题上。我在活动上有两个图像按钮:一个是“速率”;另一个是“分享”。我想要的是当一个人点击“分享”时,它会在他们的时间线上发布图片和消息。如何在Facebook上分享带有留言的照片?

我已经有Facebook的SDK集成,所以这里是我尝试使用代码:

public ImageButton imgbutton3, imgbutton2; 
public CallbackManager callbackManager; 
public ShareDialog shareDialog; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    FacebookSdk.sdkInitialize(getApplicationContext()); 

    setContentView(R.layout.game_console); 

    imgbutton3 = (ImageButton)findViewById(R.id.imageButton3); 
    imgbutton3.setOnClickListener(ImgClickListener); 
    imgbutton2 = (ImageButton)findViewById(R.id.imageButton2); 
    imgbutton2.setOnClickListener(ImgClickListener); 


} 

private View.OnClickListener ImgClickListener = new View.OnClickListener()  { 
    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
      case R.id.imageButton3: 
       //post to facebook... 
       callbackManager = CallbackManager.Factory.create(); 
       shareDialog = new ShareDialog(this); //(stuck here! :() 



       break; 
      case R.id.imageButton2: 
       //do a google rating.... 
       break; 

     } 
    } 


}; 

份额对话框下设一个弯弯曲曲的红线说,它不能解析的方法。我应该在这里做什么?我想让sharedialog在单击按钮后显示并传递图像和文本,但它不允许我在onclicklistener方法中使用任何方法。

任何帮助,将不胜感激。

回答

0
 ShareLinkContent content = new ShareLinkContent.Builder().setContentTitle(strTitle).setContentDescription(strDesc).setImageUrl(uri). 
           .setContentUrl(android.net.Uri.parse(extractLinks(strDesc))).build(); 
         ShareDialog shareDialog = new ShareDialog(ViewFacebook.this); 
         shareDialog.show(content, ShareDialog.Mode.AUTOMATIC); 
         shareDialog.registerCallback(callbackManager, mShareDialog); 

private FacebookCallback<Sharer.Result> mShareDialog = new FacebookCallback<Sharer.Result>() { 

     @Override 
     public void onSuccess(Sharer.Result result) { 
      Toast.makeText(ViewFacebook.this, "Publish Success!"), Toast.LENGTH_LONG).show(); 

     } 

     @Override 
     public void onCancel() { 
      Toast.makeText(ViewFacebook.this, 
        "Publish cancelled", 
        Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onError(FacebookException error) { 
      Toast.makeText(ViewFacebook.this, error.getMessage(), Toast.LENGTH_LONG).show(); 
     } 
    }; 
+0

查看Facebook不存在。你从哪里得到这个?它不是Facebook SDK的一部分。 – user3623689

+0

它的正义活动实例。你可以把你的活动实例。 – dipali

+0

“.show();”你的代码的一部分在我的IDE中出现红色。我试图再次输入它,但“秀”没有出现在intellisense中。 – user3623689