我无法使用“共享”对话框

时间:2015-12-03 09:22:04

标签: android share photo facebook-sdk-4.x

好的家伙,我不知道自己做错了什么,我在这个问题上失去了理智。我刚开始使用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"/>

App 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);

请帮忙。

3 个答案:

答案 0 :(得分:2)

经过多次思考后,我终于解决了这个问题。为了让图像共享正常工作,我们应该牢记两件事。

1.在AndroidManifest.xml中设置ContentProvider。

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

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

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

答案 1 :(得分: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;
    }

答案 2 :(得分:0)

亲爱的Birat Bade Shrestha,对于照片,新闻提要等,您必须特别提交给Facebook。默认电子邮件,public_profile是允许app.But任何其他用途,你必须提交,如果FB授予提交,你可以访问。

https://developers.facebook.com/docs/facebook-login/review/how-to-submit