将Facebook共享实施到我的Android应用程序中

时间:2017-04-29 11:49:48

标签: android facebook

我是andoird开发的新手,有一点java知识,我目前正在我的andorid应用程序中实现facebook共享选项。

我有一个Android应用程序的代码,我想在点击时添加一个选项,用户将我的应用程序分享到Facebook。

我已经导入了Facebook SDK等,并添加了清单所需的所有内容,但是我现在很难将分享到Facebook工作,我想使用' ShareLinkContent'选项。

我试图关注facebook开发者页面和这里的许多页面,例如: -

Integrating Facebook Sharing into my app

然而,当我购买应用源代码时,我在Android编码方面做得不多。

我已经尝试将这段代码添加到' case'在我的代码中: -

ShareLinkContent content = new ShareLinkContent.Builder()
    .setContentTitle("This is the title")
    .setContentDescription("This is the description")
    .setContentUrl(Uri.parse("www.google.com"))
    .build();

然而,点击按钮时没有显示任何内容?任何帮助将不胜感激。

由于

3 个答案:

答案 0 :(得分:0)

  

试试此代码

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
sharingIntent.setType("text/plain");
String shareBody = "Here is the share content body";
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, "Share via"));

答案 1 :(得分:0)

  

如果你想在不使用Facebook共享对话框的情况下在Facebook上分享文字,那么你需要" publish_action"权限已在Facebook仪表板应用程序上批准

     

请仔细阅读相关链接并阅读文章https://developers.facebook.com/docs/sharing/android

答案 2 :(得分:-1)

我创建了这个共享功能..检查一下..它可能对你有帮助

public void sendPostDialog(String msg, Uri image_uri) {
    try {
        ShareDialog shareDialog = new ShareDialog(activity);
        shareDialog.registerCallback(mCallbackManager, new FacebookCallback<Sharer.Result>() {
            @Override
            public void onSuccess(Sharer.Result result) {
                Toast.makeText(context, "Send post Completed", Toast.LENGTH_LONG).show();
            }

            @Override
            public void onCancel() {
                Toast.makeText(context, "Send post Canceled", Toast.LENGTH_LONG).show();
            }

            @Override
            public void onError(FacebookException error) {

                Toast.makeText(context, error.getMessage(), Toast.LENGTH_LONG).show();
            }
        });

        if (ShareDialog.canShow(ShareLinkContent.class)) {
            ShareLinkContent linkContent = new ShareLinkContent.Builder()
                    .setContentTitle("Share Location on FB")
                    .setContentDescription(msg)
                    .setContentUrl(image_uri))
                    .build();
            shareDialog.setShouldFailOnDataError(false);
            shareDialog.show(linkContent, ShareDialog.Mode.FEED);
        } else {
            Log.print("MyFacebook post nested else");
        }
    } catch (Exception e) {
        Log.print("MyFacebook post", e.getMessage());
        e.printStackTrace();
    }
}