2015-12-03 81 views
2

好吧,我不知道我在做什么错,我对这个问题失去了主意。我刚开始使用Facebook的Android SDK,我不知道我是什么做错了。我无法使用共享对话框共享图像

我正在开发一个应用程序,它需要在Facebook上分享图片。首先我试着分享状态。它工作得很好。

然后我试着根据文档信息分享照片。没有发生。

这是我的清单。

<activity android:name="com.facebook.FacebookActivity" 
       android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
       android:label="@string/app_name" 
       android:theme="@android:style/Theme.Translucent.NoTitleBar"/> 

    <provider android:name="com.facebook.FacebookContentProvider" 
       android:authorities="com.facebook.app.FacebookContentProvider1501607393******" 
       android:exported="true"/> 

    <meta-data android:name="com.facebook.sdk.ApplicationId" 
       android:value="@string/facebook_app_id"/> 

该应用程序ID是正确的。我已经在我的AndroidManifest.xml中设置了一个ContentProvider。

这是我的Java。

Bitmap image2 = BitmapFactory.decodeResource(getResources(), R.drawable.android); 
    SharePhoto photo = new SharePhoto.Builder().setBitmap(image2).build(); 
    SharePhotoContent content = new SharePhotoContent.Builder().addPhoto(photo).build(); 
    ShareDialog dialog = new ShareDialog(MainActivity.this); 
    dialog.show(content); 

请帮忙。

回答

2

多琢磨之后,我终于解决了这个problem.For图像共享能正常工作应保持两件事情记在心里。

1.在AndroidManifest.xml中设置ContentProvider。

<provider android:name="com.facebook.FacebookContentProvider" 
      android:authorities="com.facebook.app.FacebookContentProvider1501607393******" 
      android:exported="true"/> 

其中1501607393 ******是您的应用程序代码。

2.在测试yourapp之前,在设备中安装官方Facebook应用程序。

1

试试这个代码也许适合你。

public boolean sharePhoto(Bitmap image, String description) { 
     if (ShareDialog.canShow(SharePhotoContent.class)) { 
      SharePhoto photo = new SharePhoto.Builder().setBitmap(image) 
       .build(); 
      SharePhotoContent content = new SharePhotoContent.Builder() 
       .addPhoto(photo).build(); 
      shareDialog.show(content); 
      return true; 
     } 
     return false; 
    } 
+1

仍然无法使用! –

+0

你可以共享控制台日志吗? – Cotrariello

+1

日志中没有任何内容。 –