Android-Facebook SDK 4.0.0-ShareDialog不';图片共享时不显示
我在使用facebook SDK共享图像时遇到问题。 我创建了一个按钮来调用本机facebook应用程序共享对话框。 但不幸的是,它没有出现。以及DDMS上的错误消息: “未能找到com.facebook.app.FacebookContentProvider798741073537656的提供商信息” 请帮忙给点提示。谢谢大家!Android-Facebook SDK 4.0.0-ShareDialog不';图片共享时不显示,android,facebook,Android,Facebook,我在使用facebook SDK共享图像时遇到问题。 我创建了一个按钮来调用本机facebook应用程序共享对话框。 但不幸的是,它没有出现。以及DDMS上的错误消息: “未能找到com.facebook.app.FacebookContentProvider798741073537656的提供商信息” 请帮忙给点提示。谢谢大家! protected void onCreate(Bundle savedInstanceState) { FacebookSdk.sdkInitialize(
protected void onCreate(Bundle savedInstanceState) {
FacebookSdk.sdkInitialize(getApplicationContext());
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_share = (Button) findViewById(R.id.btn_share);
shareDialog = new ShareDialog(MainActivity.this);
btn_share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bitmap image = BitmapFactory.decodeFile(path);
SharePhoto photo = new SharePhoto.Builder().setBitmap(image).build();
SharePhotoContent content = new SharePhotoContent.Builder().addPhoto(photo).build();
shareDialog.show(content);
}
});
}
我有一个类似的问题,我缺少的是AndroidManifest.xml中的provider标记。从Facebook文档()中: 您还需要在AndroidManifest.xml中设置ContentProvider,其中{APP_ID}是您的应用程序ID:
<provider android:authorities="com.facebook.app.FacebookContentProvider{APP_ID}"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
首先确保您在AndroidManifest.xml中提到了内容提供者
<provider android:authorities="com.facebook.app.FacebookContentProvider1234"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
1234是你的应用程序id
第二,使用真实的设备来测试你的应用程序。确保你已经在你的设备上安装了官方的Facebook应用程序。对我来说,问题是
必须在AndroidManifest.xml sdk的
标记内。我花了几个小时试图解决这个问题。在我的例子中,提供者标记位于AndroidManifest.xml中的应用程序标记之外。请确保将提供程序包含在应用程序中,而不是外部(希望这有帮助:)
我已经在Glide v4上对此进行了测试+
Glide.with(this)
.asBitmap()
.load(YOUR_IMAGE_URL).into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
SharePhoto sharePhoto1 = new SharePhoto.Builder()
.setBitmap(resource)
.build();
ShareContent shareContent = new ShareMediaContent.Builder()
.addMedium(sharePhoto1)
.build();
new ShareDialog(getActivity()).show(shareContent, ShareDialog.Mode.AUTOMATIC);
}
});
Glide.with(这个)
.asBitmap()
.load(您的图片地址).into(新SimpleTarget()中){
@凌驾
public void onResourceReady(@NonNull Bitmap resource,@Nullable transitionId)您按照所有说明操作了吗?生成了密钥哈希,在清单中添加了FacebookActivity和提供程序。您是否在Status&Review上提交了应用程序?
Glide.with(this)
.asBitmap()
.load(YOUR_IMAGE_URL).into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
SharePhoto sharePhoto1 = new SharePhoto.Builder()
.setBitmap(resource)
.build();
ShareContent shareContent = new ShareMediaContent.Builder()
.addMedium(sharePhoto1)
.build();
new ShareDialog(getActivity()).show(shareContent, ShareDialog.Mode.AUTOMATIC);
}
});
<provider android:authorities="com.facebook.app.FacebookContentProvider{APP_ID}"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>