Android 微博分享及其注意事项

新浪微博分享

首先:成为开发者:用户首先需要在微博开放平台上对应用进行注册,并获取APP_KEY,添加应用的授权回调页(Redirect URI)。这些已经很多了,不细说。不清楚的可以看下这个链接,官方指南


微博SDK下载链接:https://github.com/mobileresearch/weibo_android_sdk


开始集成:有两种方式来集成微博SDK:

a.直接导入weibosdkcore.jar:适用于只需要授权、分享、网络请求框架功能的项目

b.引用WeiboSDK工程(Library):适用于微博授权、分享,以及需要登陆按钮、调用OpenAPI的项目

下面简述下两种导入方式的实现:

方式一:直接导入weibosdkcore.jar 

将官方的提供SDK JAR包(weibosdkcore.jar)放到工程的libs目录下

添加JAR包:工程-->右键-->properties-->java build path-->libraries-->add external jar

方式二:引用WeiboSDK工程(Library)

将WeiboSDK工程整个目录拷贝到和你自己的工程相同的目录下


在你自己的工程中,添加WeiboSDK工程的引用:工程-->右键-->properties-->Android-->Add-->选择工程

注意: 无论使用哪一种方式,都需要先将demo 中lib目录下的对应的全部 libweibosdkcore.so文件目录 拷贝到你的目标工程中。Demo工程中的weibosdkcore.jar与github上的weibosdkcore_v3.x.x.jar包是同一个。


分享:从第三方应用唤起微博客户端进行分享

注意这里分享的图片不能大于32K

 

1)    分享前准备工作

在进行微博分享前,需要在AndroidManifest.xml中,在需要接收消息的Activity(唤起微博主程序的类)里声明对应的Action:ACTION_SDK_REQ_ACTIVITY,如下所示:

 

 

<activity

    android:name="com.share.demo.YourShareActivity"

    android:configChanges="keyboardHidden|orientation"

    android:screenOrientation="portrait">

    <intent-filter>

        <actionandroid:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY"/>

        <categoryandroid:name="android.intent.category.DEFAULT"/>

</intent-filter>

</activity>


2)    分享实现

① 在onCreate函数创建微博分享接口实例,并进行注册,请确保先注册,后分享

mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(this, Constants.APP_KEY);

mWeiboShareAPI.registerApp();   // 将应用注册到微博客户端


② 创建要分享的内容

TextObject textObject = new TextObject();

textObject.text = "要分享的文字";


③ 通过IWeiboShareAPI#sendRequest唤起微博客户端进行分享

private void sendMultiMessage() {

    WeiboMultiMessage weiboMessage = new WeiboMultiMessage();//初始化微博的分享消息

    weiboMessage. textObject =textObject;

    SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest();

    request.transaction = String.valueOf(System.currentTimeMillis());

    request.multiMessage = weiboMessage;

    mWeiboShareAPI.sendRequest(request);//发送请求消息到微博,唤起微博分享界面

}


④ 实现IWeiboHandler#Response接口,接收分享后微博返回的数据

3)    

protected void onNewIntent(Intent intent) {

    super.onNewIntent(intent);

    mWeiboShareAPI.handleWeiboResponse(intent,this); //当前应用唤起微博分享后,返回当前应用

}

@Override

public void onResponse(BaseResponse baseResp) {//接收微客户端博请求的数据。

    switch (baseResp.errCode) {

    case WBConstants.ErrorCode.ERR_OK:    .........

        break;

    case WBConstants.ErrorCode.ERR_CANCEL:.........

        break;

    case WBConstants.ErrorCode.ERR_FAIL:  .........

        break;

    }

}

注意:必须用Activity及其子类实现IWeiboHandler#Response这个接口,并传给微博,才能收到回调。微博SDK在内部会进行判断,如果不属于Activity将return false,回调失败。将会收不到回调!!

分享完成<( ̄︶ ̄)>

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值