[英]How to use ShareOpenGraphContent on Android when Facebook is not Installed
我正在使用ShareOpenGraphContent
在我的Android应用程序中通过Facebook OpenGraph共享图像,它仅在安装Facebook时有效。
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.setCaption("https://play.google.com/store/apps/details?id=" +
G.app.getPackageName())
.build();
// Create an object
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "my app:type")
.putString("og:title", "my app title")
.putString("og:url", "https://market.android.com/details?id=" + G.app.getPackageName())
.putPhoto("og:image", photo)
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("my app:object")
.putObject("my object", object)
.build();
// Create the content
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("type")
.setAction(action)
.build();
final ShareButton shareButton = (ShareButton) findViewById(R.id.facebookShare);
shareButton.setShareContent(content);
shareButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do some thing
bitmap.recycle();
}
});
G.app
是生命周期 api。
我了解我需要发布操作权限和Facebook批准,此打开的图表才能在未安装Facebook应用的情况下正常工作。 但是我该怎么做呢? 我想向用户显示与他们安装Facebook应用程序时看到的对话框相同的对话框。
如果未安装FB应用程序,则通常的后备状态是Web对话框,但是Web对话框不支持位图(仅图像的URL),这可能就是为什么它不适合您的原因。
您需要将图像切换为Web URL,或将ShareApi类与publish_actions权限一起使用(但在这种情况下,不会为您的用户提供对话框)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.