您的位置:首页 > 移动开发 > 微信开发

新浪微博、微信朋友圈、qq空间分享---新浪微博

2015-04-22 10:16 387 查看
新浪微博分享和微信朋友圈分享需要打包测试(即:使用自己的.keystore)。如果签名有误,需要修改签名(把打好的包安装的手机上,然后使用签名工具生成你应用的包名的签名,把分享平台中的签名修改为你生成的签名即可)。https://github.com/sinaweibosdk/weibo_android_sdk1.导包2.权限
 <uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
3.
   <!-- 必须注册在微博授权,分享微博时候用到 --><activity android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"android:configChanges="keyboardHidden|orientation"android:windowSoftInputMode="adjustResize"android:exported="false" ></activity><service android:name="com.sina.weibo.sdk.net.DownloadService"android:exported="false"></service>
在你打开分享的Activity中添加 com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY 动作 例如:
<activityandroid:name=".SettingActivity"android:configChanges="keyboardHidden|orientation"android:screenOrientation="portrait"android:label="@string/app_name" ><intent-filter ><action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>
4.代码实现部分在onCreat() 中加入如下代码
 /*** 新浪分享注册key*/mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(this, APP_ID);mWeiboShareAPI.registerApp(); // 将应用注册到微博客户端mWeiboShareAPI.handleWeiboResponse(getIntent(), this);</span>
下面是分享的代码(文字分享)
 /*** 新浪微博分享* @param v*/private IWeiboShareAPI mWeiboShareAPI;private IWXAPI api;private Tencent mTencent;public void toShareXinLangWB(){if (mWeiboShareAPI.isWeiboAppSupportAPI()) {sendMultiMessage();} else {Toast.makeText(this, "没有下载安装新浪微薄客户端,请安装", Toast.LENGTH_SHORT).show();}}/****/private void sendMultiMessage() {// 1. 初始化微博的分享消息WeiboMultiMessage weiboMessage = new WeiboMultiMessage();// 用户可以分享其它媒体资源(网页、音乐、视频、声音中的一种)//   weiboMessage.mediaObject = getWebpageObj();weiboMessage.textObject = getTextObj();// 2. 初始化从第三方到微博的消息请求SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest();// 用transaction唯一标识一个请求request.transaction = String.valueOf(System.currentTimeMillis());request.multiMessage = weiboMessage;// 3. 发送请求消息到微博,唤起微博分享界面mWeiboShareAPI.sendRequest(this, request);}/*** 创建文本消息对象。** @return 文本消息对象。*/private TextObject getTextObj() {TextObject textObject = new TextObject(); // http://xhb.jxnews.com.cn/ textObject.actionUrl="http://www.baidu.com";textObject.text = "我是小明,这是我们的麦客项目测试发的消息 http://www.beehood.com"; return textObject;}protected void onNewIntent(Intent intent) {super.onNewIntent(intent);mWeiboShareAPI.handleWeiboResponse(intent, this); // 当前应用唤起微博分享后,返回当前应用}@Overridepublic void onResponse(BaseResponse baseResp) {// 接收微客户端博请求的数据。switch (baseResp.errCode) {case WBConstants.ErrorCode.ERR_OK:Toast.makeText(this, "分享成功", Toast.LENGTH_SHORT).show();break;case WBConstants.ErrorCode.ERR_CANCEL:Toast.makeText(this, "取消分享", Toast.LENGTH_SHORT).show();break;case WBConstants.ErrorCode.ERR_FAIL:Toast.makeText(this, "分享失败", Toast.LENGTH_SHORT).show();break;}}
网页分享
  private void sendMultiMessage() {// 1. 初始化微博的分享消息WeiboMultiMessage weiboMessage = new WeiboMultiMessage();weiboMessage.mediaObject = getWebpageObj();// 2. 初始化从第三方到微博的消息请求SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest();// 用transaction唯一标识一个请求request.transaction = String.valueOf(System.currentTimeMillis());request.multiMessage = weiboMessage;// 3. 发送请求消息到微博,唤起微博分享界面mWeiboShareAPI.sendRequest(SettingActivity.this, request);}/*** 创建多媒体(网页)消息对象。** @return 多媒体(网页)消息对象。*/private WebpageObject getWebpageObj() {WebpageObject mediaObject = new WebpageObject();mediaObject.identify = Utility.generateGUID();mediaObject.title = "xioamign";mediaObject.description = "xiaomingshishui";// 设置 Bitmap 类型的图片到视频对象里   下面这个必须有,不然无法调起客户端mediaObject.setThumbImage(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));mediaObject.actionUrl = "http://www.baidu.com";mediaObject.defaultText = "Webpage 默认文案";return mediaObject;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: