本文为大家分享了新浪微博分享功能集成,供大家参考,具体内容如下
下载新浪微博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. 中,在需要接收消息的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 Request 微博请求数据对象
* @see {@ IWeiboShareAPI#handleWeiboRequest}
*/
@Override
public void onResponse( Response Resp) {
if( Resp!= null){
switch ( Resp.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: \" + Resp.errMsg,
Toast.LENGTH_LONG).show();
break;
}
}
}
需要注意的是,在WBShareActivity分享图片的方法getImageObj中,注释中说所设置的缩略图,并非是分享时的图片。我们只需要将需要分享的图片放到image 里即可,没有32K的大小限制。如果我们将缩略图放在image 中,则分享的图片为缩略图,看不清楚。
/**
* 创建图片消息对象。
*
* @return 图片消息对象。
*/
private Image getImageObj() {
Image image = new Image ();
BitmapDrawable bitmapDrawable = (BitmapDrawable) mImageView.getDrawable();
//设置缩略图。 注意:最终压缩过的缩略图大小不得超过 32kb。
/*上面的注释是demo里的,但是其实这里并不必要设置缩略图,只需要将我们分享的图片直接设置到imageObjet里即可*/
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_logo);
image .setImage (bitmap);
return image ;
}
其他事项可参考新浪微博sdk自带的文档。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
SQL,一门不是语言的语言?
用在线RaxML构建系统发育树
-
[Spring Cloud Tutorial翻译系列二]Spring Cloud Config Server与git集成
2026-05-19栏目: 教程
-
[译] 在 iOS Swift 中的懒加载变量
2026-05-19栏目: 教程
-
[译] 手摸手教你如何轻松发布私有 App
2026-05-19栏目: 教程
-
[译] 2019 React Redux 完全指南
2026-05-19栏目: 教程
-
[译] Java 和 etcd: 因为 jetcd 最终走到了一起
2026-05-19栏目: 教程
