项目工作中使用到了友盟SDK6.42进行分享,但在测试分享到新浪微博的功能时发现,分享虽然成功了,但分享的内容却被新浪微博放进了草稿箱。
分享新浪微博代码:
ShareAction sa = new ShareAction(activity);
UMWeb web = new UMWeb(shareUrl);
web.setTitle(shareTitle);
web.setDescription(shareContent);
web.setThumb(shareImage);
sa.withMedia(web);
sa.setPlatform(SHARE_MEDIA.SINA).setCallback(umShareListener).share();
经检查发现,是测试数据中的图片地址为空,导致shareImage为空值,而对于新浪微博来说没有图片的UMWeb对象被认为是不完整的,所以不能发表,而是被放进了草稿箱。
于是修改代码:
ShareAction sa = new ShareAction(activity);
if(shareImage == null){//如果没有图片就不能采用UMWeb形式分享,改成使用纯文字
sa.withText(shareContent + " " +shareUrl);
}else{
UMWeb web = new UMWeb(shareUrl);
web.setTitle(shareTitle);
web.setDescription(shareContent);// 描述
web.setThumb(shareImage); // 缩略图
sa.withMedia(web);
}
sa.setPlatform(SHARE_MEDIA.SINA).setCallback(umShareListener).share();