【问题标题】:Share a custom TEXT status via facebook sdk通过 facebook sdk 分享自定义 TEXT 状态
【发布时间】:2014-09-04 13:34:38
【问题描述】:

我想在我的 android 应用中使用 facebook sdk 分享自定义文本状态。

我用this facebook tutorial

FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(MainActivity.this)
                .setLink("https://developers.facebook.com/android")
                .build();
                uiHelper.trackPendingDialogCall(shareDialog.present());

但是我如何分享文本(不是链接)?

【问题讨论】:

    标签: java android facebook sdk


    【解决方案1】:
    private void publishFeedDialog() {
    Bundle params = new Bundle();
    params.putString("name", "Facebook SDK for Android");
    params.putString("caption", "Build great social apps and get more installs.");
    params.putString("description", "The Facebook SDK for Android makes it easier and faster to develop Facebook integrated Android apps.");
    params.putString("link", "https://developers.facebook.com/android");
    params.putString("picture", "https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png");
    
    WebDialog feedDialog = (
        new WebDialog.FeedDialogBuilder(getActivity(),
            Session.getActiveSession(),
            params))
        .setOnCompleteListener(new OnCompleteListener() {
    
            @Override
            public void onComplete(Bundle values,
                FacebookException error) {
                if (error == null) {
                    // When the story is posted, echo the success
                    // and the post Id.
                    final String postId = values.getString("post_id");
                    if (postId != null) {
                        Toast.makeText(getActivity(),
                            "Posted story, id: "+postId,
                            Toast.LENGTH_SHORT).show();
                    } else {
                        // User clicked the Cancel button
                        Toast.makeText(getActivity().getApplicationContext(), 
                            "Publish cancelled", 
                            Toast.LENGTH_SHORT).show();
                    }
                } else if (error instanceof FacebookOperationCanceledException) {
                    // User clicked the "x" button
                    Toast.makeText(getActivity().getApplicationContext(), 
                        "Publish cancelled", 
                        Toast.LENGTH_SHORT).show();
                } else {
                    // Generic, ex: network error
                    Toast.makeText(getActivity().getApplicationContext(), 
                        "Error posting story", 
                        Toast.LENGTH_SHORT).show();
                }
            }
    
        })
        .build();
    feedDialog.show();
    

    }

    【讨论】:

    • 谢谢你,我试试这个,我得到了很多错误,我是android编程的新手,你可以发布一个完整的代码示例吗? @naveen-tamrakar
    【解决方案2】:

    通过使用 FacebookDialog (Facebook API),您无法以编程方式添加消息

    【讨论】:

      【解决方案3】:

      试试这个方法,希望能帮助你解决问题。

       private FacebookDialog.ShareDialogBuilder createShareDialogBuilderForLink() {
                  return new FacebookDialog.ShareDialogBuilder(mActivity)
                  .setName(mTitle)
                  .setDescription(mDescription)
                  .setLink(mUrlShare);
              }
      

      【讨论】:

      • 但是这种方式也是分享链接,我只想分享TEXT:\
      • 我可以在哪里添加文本?​​
      • 如果你只想分享文字,下面的方法↓
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多