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