android分享到微博,Android集成新浪微博SDK分享

现在的APP应该必不可少的一个功能就是三方登录和分享,写这篇文章希望给一些新手朋友一些意见少走点弯路,也是让自己在下一次做到分享的时候能不在那么愚蠢。(这应该是史上最笨的微博分享功能实现类的文章了)

首先先下载集成微博的SDK SDK下载地址

集成很简单,按照文档一步一步的复制粘贴就好了,我用的是android studio直接将aar包考到项目libs下就可以了

27328511165d

然后清单文件中将所需权限(这个官方文档都有)填写上就可以开始码砖了。

在你的微博APP KEY都申请下来之后,将官方Demo中的Constants

这个类可以copy一份在在即的项目中,改一下APP_KEY和回调URL就可以正常使用了。然后初始化你的WBSdk:

WbSdk.install(activity, newAuthInfo(activity,Constants.SinaWeiBo_APP_KEY,Constants.REDIRECT_URL,Constants.SCOPE));

注册你的ShareHandler:

ShareHandler shareHandler;

if(shareHandler==null){

shareHandler=newWbShareHandler(activity);

}

shareHandler.registerApp();

我是将所有的三方分享写在一个自定义Dialog中的,所以这个dialog需要实现WbShareCallback,然后点击微博图标的时候走一个方法就可以了:

private void shareToWeibo() {

WebpageObject mediaObj =newWebpageObject();

//创建文本消息对象

TextObject textObject =newTextObject();

textObject.text= "你分享内容的描述"+“分享网页的话加上网络地址”;

textObject.title= getTitle();

//创建图片消息对象,如果只分享文字和网页就不用加图片

WeiboMultiMessage message =newWeiboMultiMessage();

ImageObject imageObject =newImageObject();

// 设置 Bitmap 类型的图片到视频对象里        设置缩略图。 注意:最终压缩过的缩略图大小 不得超过 32kb。

Bitmap bitmap = BitmapFactory.decodeResource(getResources() , R.drawable.test);

imageObject.setImageObject(bitmap);

message.textObject= textObject;

message.imageObject= imageObject;

message.mediaObject= mediaObj;

shareHandler.shareMessage(message,false);

}

其中的bitmap是网络图片时需要异步请求处理,我用的Glide

的异步图片加载代码如下:

SimpleTarget target =newSimpleTarget() {

@Override

public voidonResourceReady(Bitmap bitmap,GlideAnimation glideAnimation) {

//这里是主线程处理上面分享的逻辑

WebpageObject mediaObj =newWebpageObject();

//创建文本消息对象

TextObject textObject =newTextObject();

textObject.text= "你分享内容的描述"+“分享网页的话加上网络地址”;

textObject.title= getTitle();

//创建图片消息对象

WeiboMultiMessage message =newWeiboMultiMessage();

ImageObject imageObject =newImageObject();

// 设置 Bitmap 类型的图片到视频对象里         设置缩略图。 注意:最终压缩过的缩略图大小 不得超过 32kb。

imageObject.setImageObject(bitmap);

message.textObject= textObject;

message.imageObject= imageObject;

message.mediaObject= mediaObj;

shareHandler.shareMessage(message,false);

}

};

Glide.with(activity).load(“图片URL”).asBitmap().into(target);

因为我们做的是影视类的app,所以希望直接分享视频到微博就可以正常播放,但目前版本的SDK还不支持分享视频,所以只能是分享视频网页。

之前都是用的shareSDK就是包含了各家三方平台的分享,但是做了一次下来发现其实ShareSDK并不算好用,另一个三方再给封装一层,不仅会出一些无法解释和自己无法解决的bug还会让真个项目包增大不少,长远考虑建议还是用一个一个的去集成比价合适。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值