android开发分享Android APP集成新浪微博分享功能

本文为大家分享了新浪微博分享功能集成,供大家参考,具体内容如下 下载新浪微博android sdk 直接导入weibosdkcore.jar:适用于只需要授权、分享、

android开发分享Android APP集成新浪微博分享功能为大家分享了新浪微博分享功能集成,供大家参考,具体内容如下

下载新浪微博android sdk

直接导入weibosdkcore.jar:适用于只需要授权、分享、网络请求框架功能的项目。
无论使用哪一种方式,都需要先将demo中lib目录下的对应的全部 libweibosdkcore.so文件目录拷贝到你的目标工程中demo。在app–>src–>main中新建文件夹jnilibs,将demo 中lib目录下的对应的全部 libweibosdkcore.so文件目录拷贝到其中,不要改变任何文件和文件夹位置。

分享时参考demo中wbsharemainactivity,这里是分享的入口,主要代码如下:

  // 创建微博 sdk 接口实例      mweiboshareapi = weibosharesdk.createweiboapi(mcontext, sysconstants.share_weibo_app_id);        // 注册到新浪微博      mweiboshareapi.registerapp();      intent i = new intent(mcontext, wbshareactivity.class);      i.putextra(wbshareactivity.key_share_type, wbshareactivity.share_all_in_one);      i.putextra(wbshareactivity.image_url, imgurl);      mcontext.startactivity(i);

分享之前需要将app_key等参数替换成自己应用的参数,参数可以参考demo里的constants类。

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

  <activity    android:name="com.sina.weibo.sdk.demo.wbshareactivity"    android:configchanges="keyboardhidden|orientation"    android:screenorientation="portrait" >    <intent-filter>        <action android:name="com.sina.weibo.sdk.action.action_sdk_req_activity" />        <category android:name="android.intent.category.default" />  </intent-filter>  </activity>  <activity      android:name="com.sina.weibo.sdk.component.weibosdkbrowser"      android:configchanges="keyboardhidden|orientation"     android:windowsoftinputmode="adjustresize"     android:exported="false" >  </activity>

分享的功能主要是由wbshareactivity实现的,包括文本、图片、网页、音乐、视频、声音,具体代码参考demo。

wbshareactivity里实现了iweibohandler#response接口,接收分享后微博返回的数据,代码如下所示:

  /**     * 接收微客户端博请求的数据。     * 当微博客户端唤起当前应用并进行分享时,该方法被调用。     *      * @param baserequest 微博请求数据对象     * @see {@link iweiboshareapi#handleweiborequest}     */    @override    public void onresponse(baseresponse baseresp) {      if(baseresp!= null){        switch (baseresp.errcode) {        case wbconstants.errorcode.err_ok:          toast.maketext(this, r.string.weibosdk_demo_toast_share_success, toast.length_long).show();          break;        case wbconstants.errorcode.err_cancel:          toast.maketext(this, r.string.weibosdk_demo_toast_share_canceled, toast.length_long).show();          break;        case wbconstants.errorcode.err_fail:          toast.maketext(this,               getstring(r.string.weibosdk_demo_toast_share_failed) + "error message: " + baseresp.errmsg,               toast.length_long).show();          break;        }      }    }

需要注意的是,在wbshareactivity分享图片的方法getimageobj中,注释中说所设置的缩略图,并非是分享时的图片。我们只需要将需要分享的图片放到imageobject里即可,没有32k的大小限制。如果我们将缩略图放在imageobject中,则分享的图片为缩略图,看不清楚。

  /**     * 创建图片消息对象。     *      * @return 图片消息对象。     */    private imageobject getimageobj() {      imageobject imageobject = new imageobject();      bitmapdrawable bitmapdrawable = (bitmapdrawable) mimageview.getdrawable();      //设置缩略图。 注意:最终压缩过的缩略图大小不得超过 32kb。      /*上面的注释是demo里的,但是其实这里并不必要设置缩略图,只需要将我们分享的图片直接设置到imageobjet里即可*/      bitmap bitmap = bitmapfactory.decoderesource(getresources(), r.drawable.ic_logo);      imageobject.setimageobject(bitmap);      return imageobject;    }

其他事项可参考新浪微博sdk自带的文档。

以上就是android开发分享Android APP集成新浪微博分享功能的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/901681.html

(2)
上一篇 2021年10月24日
下一篇 2021年10月24日

精彩推荐