android - 从我的应用程序分享

标签 android facebook

我想通过我的应用在 Facebook 上分享内容。 当我单击共享按钮时,它应该登录并从对话框中共享内容。 登录工作正常,但我不知道如何在没有来自 Facebook SDK 的默认分享按钮的情况下分享

我的Facebook登录代码如下

final ProfileTracker[] mProfileTracker = new ProfileTracker[1];
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile", "email"));
LoginManager.getInstance().registerCallback(callbackManager,
        new FacebookCallback<LoginResult>() {


            @Override
            public void onSuccess(LoginResult loginResult) {

            }

            @Override
            public void onCancel() {
                // App code
                Toast.makeText(MainActivity.this, "Authentication with Facebook failed!", Toast.LENGTH_LONG).show();

            }

            @Override
            public void onError(FacebookException exception) {
                // App code
                Toast.makeText(MainActivity.this, "Authentication with Facebook failed!", Toast.LENGTH_LONG).show();

            }
        });
}

最佳答案

登录成功后使用ShareLinkContent分享到facebook墙上:

代码:

 if (ShareDialog.canShow(ShareLinkContent.class)) {
                        ShareLinkContent linkContent = new   ShareLinkContent.Builder()
                                .setContentTitle("Any Title")
                               /* .setContentDescription(
                                        "'Hello Facebook'")*/
                                .setContentUrl(Uri.parse("https://www.google.com"))
                                .build();

                        shareDialog.show(linkContent);
                    }

在LoginManager的onSuccess方法中使用这段代码。

并在 ActivityonCreate 中初始化 ShareDialogCallbackManager ,如下所示:

callbackManager=CallbackManager.Factory.create();
            shareDialog=new ShareDialog(this);
            shareDialog.registerCallback(callbackManager, new   FacebookCallback<Sharer.Result>() {
                @Override
                public void onSuccess(Sharer.Result result) {

                }

                @Override
                public void onCancel() {

                }

                @Override
                public void onError(FacebookException e) {

                }
            });

onActivityResult Activity 添加回调管理器的方法:

  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent   data)
  {
    super.onActivityResult(requestCode, resultCode, data);
  callbackManager.onActivityResult(requestCode, resultCode, data);
   }

关于android - 从我的应用程序分享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34651882/

相关文章:

c# - 我们如何创建自定义共享对象?

android - notifyItemRangeChanged() 导致 RecyclerView Android 崩溃

android - 使用 React Native + Expo + FCM 创建的双重推送通知

javascript - 如何使用 Javascript 插入 Facebook 登录按钮?

Facebook 教程 > 2011 年 10 月 1 日的安全页面选项卡 URL 要求

ios - 接收器类型 'FBSDKError'(又名 'enum FBSDKError')不是 Objective-C 类

android - 如何在android中停止线程(进度条)

android - 如何实现saveFragmentInstanceState?

android - 如何在 Android 中使用身份验证 Uid 从 FirebaseUser 获取用户名?

ios - 无法在 iOS SDK 上创建 Facebook 测试用户帐户