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

所属分类: 软件编程 / Android 阅读数: 45
收藏 0 赞 0 分享

本文为大家分享了新浪微博分享功能集成,供大家参考,具体内容如下

下载新浪微博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自带的文档。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

使用ViewPager实现android软件使用向导功能实现步骤

现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了,下面我们就实现这个功能
收藏 0 赞 0 分享

android在异步任务中关闭Cursor的代码方法

android在异步任务中如何关闭Cursor?在我们开发应用的时候,很多时候会遇到这种问题,下面我们就看看代码如何实现
收藏 0 赞 0 分享

Android自定义桌面功能代码实现

android自定义桌面其实很简单,看一个例子就明白了
收藏 0 赞 0 分享

android将图片转换存到数据库再从数据库读取转换成图片实现代码

有时候我们想把图片存入到数据库中,尽管这不是一种明智的选择,但有时候还是不得以会用到,下面说说将图片转换成byte[]数组存入到数据库中去,并从数据库中取出来转换成图像显示出来
收藏 0 赞 0 分享

TextView显示系统时间(时钟功能带秒针变化

用System.currentTimeMillis()可以获取系统当前的时间,我们可以开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间,可以做一个时钟的功能
收藏 0 赞 0 分享

Android用ListView显示SDCard文件列表的小例子

本文简单实现了用ListView显示SDCard文件列表,目录的回退等功能暂不讨论,获取文件列表,files即为所选择目录下的所有文件列表
收藏 0 赞 0 分享

Android拦截外拨电话程序示例

这篇文章主要介绍了Android拦截外拨电话的示例,大家参考使用吧
收藏 0 赞 0 分享

通过Html网页调用本地安卓(android)app程序代码

如何使用html网页和本地app进行传递数据呢?经过研究,发现还是有方法的,总结了一下,大致有一下几种方式
收藏 0 赞 0 分享

android Textview文字监控(Textview使用方法)

以手机号充值为例,当用户输入最后一位数时候,进行汇率的变换,本文就实现类似这样的功能
收藏 0 赞 0 分享

Android ListView长按弹出菜单二种实现方式示例

这篇文章主要介绍了Android ListView长按弹出菜单的方法,大家参考实现
收藏 0 赞 0 分享
查看更多