我无法使用"共享"对话框共享图像



好吧,伙计们,我不知道我做错了什么,我对这个问题失去了理智。我刚开始使用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);

请帮忙。

经过深思熟虑,我终于解决了这个问题。为了使图像共享正常工作,应该记住两件事。

1.在AndroidManifest.xml中设置ContentProvider。

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

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

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

试试这段代码也许对你有用。

    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;
    }

亲爱的Birat Bade Shrestha,对于照片、新闻推送等,您必须向facebook特别提交。默认情况下,应用程序允许使用public_profile。但对于任何其他用途,您必须提交,如果FB批准提交,您可以访问。

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

最新更新