Android 微博分享及其注意事项

来源:互联网 发布:网络统考时间 编辑:程序博客网 时间:2024/06/16 10:30

新浪微博分享

首先:成为开发者:用户首先需要在微博开放平台上对应用进行注册,并获取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.sina.weibo.sdk.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,回调失败。将会收不到回调!!

分享完成<( ̄︶ ̄)>

0 1