2016-12-08 78 views
1

我想用我的Android应用程序在Facebook上分享图像。我使用此代码:在Facebook上共享[Android]

SharePhoto photo = (SharePhoto)new SharePhoto.Builder().SetBitmap(bitmap).Build(); 

    SharePhotoContent content = new SharePhotoContent.Builder() 
        .AddPhoto(photo) 
        .Build(); 

    _fbShareButton.ShareContent = content; 

问题是我只能从我创建Facebook应用程序的帐户发布。登录到另一个帐户后,共享窗口不会出现。

该应用程序在Facebook开发者帐户上在线。

在此先感谢! :)

+0

如果您使用ShareDialog,请尝试使用Mode.WEB –

+0

如何使用Mode.Web? – bigjoe1

+0

shareDialog.show(content,Mode.WEB); –

回答

0

首先,你必须让你的应用在Facebook开发者公开。公开按照此步骤给出的步骤https://stackoverflow.com/a/37982567/7235539

希望它的帮助您。

+0

我的应用程序是公共的 - 绿色填充圆圈:)仍然不起作用:c – bigjoe1

0
  //If Your are in debug mode please make sure that you are login with developer id from which app is registered  

FacebookSdk.sdkInitialize(context);//initialize your Facebook SDK 

       //Obtain Callback manager instance 
       CallbackManager callbackManager = CallbackManager.Factory.create(); 

        //Create facebook Share Dialog instance 
       ShareDialog shareDialog = new ShareDialog((AppCompatActivity) context 

        //Register CallBack 
        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { 
         @Override 
         public void onSuccess(Sharer.Result result) { 

         } 

         @Override 
         public void onCancel() { 

         } 

         @Override 
         public void onError(FacebookException error) { 
          error.printStackTrace(); 
         } 
        }); 

        //Perform Click event on your share button 
fb_share_btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (ShareDialog.canShow(ShareLinkContent.class)) { 
        ShareLinkContent content = new ShareLinkContent.Builder() 
          .setContentUrl(Uri.parse(context.getString(R.string.app_link_to_play_store)))//this is your play store link 
          .setContentTitle(context.getString(R.string.app_name)) 
          .setContentDescription(context.getString(R.string.description_content_fb))//content to display on facebook 
          .setImageUrl(Uri.parse("Your image url placed on app server")) 
          .build(); 
        shareDialog.show(content); 
       } 
      } 
     });