【问题标题】:Share Image with Pre populated text on facebook in Android native app in latest SDK 4.0 later在最新 SDK 4.0 的 Android 本机应用程序中与 Facebook 上的预填充文本共享图像
【发布时间】:2015-05-28 07:00:42
【问题描述】:
我浏览了很多地方,不太了解facebook SDK 4.0。这是我的想法,我希望大家分享你的想法。
- ShareDialog[Sharephotocontent] - 看起来我只能分享图片而不是附加的文字。
- ShareDialog[ShareLinkContent] - 看起来我只能分享带有描述的链接和带有链接的标题。
- 当用户使用不支持 shareddialog 的旧版 facebook apk 时,我们应该怎么做?
我们如何实现图像的共享,描述像左边的邮票卡和矩形框写边的文字。
非常感谢!
【问题讨论】:
-
你试过什么? facebook sdk 包含可以帮助您解决此问题的捆绑项目。此外,这已记录在here。
标签:
android
facebook
facebook-sdk-4.0
【解决方案1】:
我使用此代码在 facebook 墙上分享文本和图像。成功了。
从您的 oncreate 方法调用 facebooksharing 方法,如下面的代码所示。
CallbackManager callbackManager;
private LoginManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this.getApplicationContext());
setContentView(R.layout.Your_layout);
callbackManager = CallbackManager.Factory.create();
//call method for sharing post
FaceBookSharing();
}
public void FaceBookSharing() {
List<String> permissionNeeds = Arrays.asList("publish_actions");
manager = LoginManager.getInstance();
manager.logInWithPublishPermissions(this, permissionNeeds);
manager.registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
PostImage();
}
@Override
public void onCancel() {
System.out.println("onCancel");
}
@Override
public void onError(FacebookException exception) {
System.out.println("onError");
}
});
}
private void PostImage() {
Bitmap image = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
SharePhoto photo = new SharePhoto.Builder().setBitmap(image)
.setCaption("Hey this is Demo post!")
.build();
SharePhotoContent content = new SharePhotoContent.Builder().addPhoto(
photo).build();
ShareApi.share(content, null);
Toast.makeText(this, "Succsesfully posted on your wall", Toast.LENGTH_LONG)
.show();
}