Umeng微信、朋友圈分享
来源:互联网 发布:淘宝网购平板电脑 编辑:程序博客网 时间:2024/04/30 03:24
1.注册友盟账号,添加新应用,获取APPKEY.
2.下载最新的分享sdk http://dev.umeng.com/social/android/quick-integration
3.将main和platforms里面的jar包和资源文件 放入新建 的程序中。
放好后如下图:
4.在清单文件AndroidMainfest.xml中添加如下代码:
<!-- ###################声明SDK使用的相关权限###################### --> <!-- 检测网络状态 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取mac地址作为用户的备用唯一标识 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取用户手机的IMEI,用来唯一的标识用户 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 缓存资源优先存入SDcard --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 允许应用程序联网,以便向我们的服务器端发送数据 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- QQ、QQ空间所需权限 --> <uses-permission android:name="android.permission.GET_TASKS" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.wxshare.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- ###################注册SDK使用的Activity###################### --> <!-- 分享编辑页 --> <activity android:name="com.umeng.socialize.view.ShareActivity" android:configChanges="orientation|keyboard" android:launchMode="singleTask" android:noHistory="true" android:theme="@style/Theme.UMDialog" android:windowSoftInputMode="stateVisible|adjustResize" > </activity> <!-- ############ QQ空间和QQ SSO授权的Activity注册 ############ --> <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory="true" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- 100424468,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的 APP ID --> <data android:scheme="tencent100424468" /> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" > </activity> <!-- ###################添加UmengAppkey###################### --> <meta-data android:name="UMENG_APPKEY" android:value="你的友盟appkey" > </meta-data> </application>
private void umengShareInit() {//0.微信分享步骤//1.首先在您的Activity中添加如下成员变量mController = UMServiceFactory.getUMSocialService("com.umeng.share");//2.wx967daebe835fbeac是你在微信开发平台注册应用的AppID, 这里需要替换成你注册的AppIDappId = "<span style="font-family: Arial, Helvetica, sans-serif;">微信开发平台注册应用的AppID</span>";appSecret = "微信开发平台的appSecret";//3.添加支持微信平台UMWXHandler wxHandler = new UMWXHandler(this,appId,appSecret);wxHandler.addToSocialSDK();//3.1支持微信朋友圈UMWXHandler wxCircleHandler = new UMWXHandler(this,appId,appSecret);wxCircleHandler.setToCircle(true);wxCircleHandler.addToSocialSDK();}
6.友盟分享的UI界面可以用友盟自带的也可以自己布局。
友盟布局:
/** * 友盟自定义UI */private void showUmengUI() {//4.移除无用的分享图标mController.getConfig().removePlatform( SHARE_MEDIA.RENREN, SHARE_MEDIA.QZONE,SHARE_MEDIA.QQ,SHARE_MEDIA.SINA,SHARE_MEDIA.TENCENT);mController.openShare(this, false);//5.设置微信好友分享内容WeiXinShareContent weixinContent = new WeiXinShareContent();//设置分享文字weixinContent.setShareContent("如果你是创业者,那来这里。。。;如果你是投资者,那来这里。。。");//设置titleweixinContent.setTitle("测试标题");//设置分享内容跳转URLweixinContent.setTargetUrl("https://www.baidu.com/");//设置分享图片UMImage localImage=new UMImage(this,R.drawable.ic_launcher);weixinContent.setShareImage(localImage);//6.分享mController.setShareMedia(weixinContent);//5.1设置微信朋友圈分享内容CircleShareContent circleMedia = new CircleShareContent();circleMedia.setShareContent("如果你是创业者,那来这里。。。;如果你是投资者,那来这里。。。");//设置朋友圈titlecircleMedia.setTitle("测试标题");circleMedia.setShareImage(localImage);circleMedia.setTargetUrl("https://www.baidu.com/");//6.分享mController.setShareMedia(circleMedia);}
/** * 显示您的自定义界面,当用户点击一个平台时,直接调用directShare或者postShare来分享. */protected void showCustomUI(final boolean isDirectShare) {View pw_share = LayoutInflater.from(this).inflate(R.layout.pw_share, null);ImageView iv_wxchat = (ImageView) pw_share.findViewById(R.id.iv_wxchat);ImageView iv_wxcircle = (ImageView) pw_share.findViewById(R.id.iv_wxcircle);iv_wxchat.setOnClickListener(this);iv_wxcircle.setOnClickListener(this);new AlertDialog.Builder(this).setView(pw_share).create().show();}
7. 设置分享监听器,可以监听用户分享状态
/** * 分享监听器 */mShareListener = new SnsPostListener() {@Overridepublic void onStart() {Log.i("启动分享", "----------------------");}@Overridepublic void onComplete(SHARE_MEDIA platform, int stCode,SocializeEntity entity) {if (stCode == 200) {Log.i("分享成功", "----------------------");} else {Log.i("分享失败", "----------------------");}}};
8.自定义界面用户点击分享到微信或朋友圈相应的操作:
case R.id.iv_wxchat:// 获取用户点击的平台platform =SHARE_MEDIA.WEIXIN;if (isDirectShare) {// 调用直接分享//设置微信好友分享内容WeiXinShareContent weixinContent = new WeiXinShareContent();//设置分享文字weixinContent.setShareContent("内容测试数据,那来这里。。。;内容测试数据,那来这里。。。");//设置titleweixinContent.setTitle("标题测试数据");//设置分享内容跳转URLweixinContent.setTargetUrl("https://www.baidu.com/");//设置分享图片UMImage localImage=new UMImage(this,R.drawable.umeng_socialize_wechat);weixinContent.setShareImage(localImage);//分享mController.setShareMedia(weixinContent);mController.directShare(this, platform, mShareListener);} else {// 调用直接分享, 但是在分享前用户可以编辑要分享的内容mController.postShare(this, platform, mShareListener);}break;case R.id.iv_wxcircle:// 获取用户点击的平台platform =SHARE_MEDIA.WEIXIN_CIRCLE;if (isDirectShare) {// 调用直接分享//5.1设置微信朋友圈分享内容CircleShareContent circleMedia = new CircleShareContent();circleMedia.setShareContent("内容测试数据,那来这里。。。;内容测试数据,那来这里。。。");//设置朋友圈titlecircleMedia.setTitle("标题测试数据");UMImage localImage=new UMImage(this,R.drawable.umeng_socialize_wxcircle);circleMedia.setShareImage(localImage);circleMedia.setTargetUrl("https://www.baidu.com/");//6.分享mController.setShareMedia(circleMedia);mController.directShare(this, platform,mShareListener);} else {// 调用直接分享, 但是在分享前用户可以编辑要分享的内容mController.postShare(this, platform,mShareListener);}break;
以上代码就可以实现微信分享功能,经过测试分享内容需要包含图片才能有title和跳转url。
既然是微信分享,想要实现分享功能,还需要在微信开发平台注册分享的权限。在微信平台申请要注意:应用签名要改为小写并且去掉:即:AB:1E 变为:ab1e,否则分享总会提示失败
0 1
- Umeng微信、朋友圈分享
- Umeng微信、朋友圈分享
- Umeng微信分享
- 干货,Umeng分享纯图片(避免跳坑)到_微信,朋友圈等
- umeng分享到微信和微信朋友圈只显示ShareContent的bug
- umeng分享微信失败
- 微信朋友圈分享
- umeng(Android)分享遇到的问题和心得,我只要分享(自定义pannel)(微信、朋友圈、QQ、QQ空间、微博分享)
- 微信分享好友,朋友圈
- 微信及朋友圈分享
- 微信分享好友,朋友圈
- android微信朋友圈分享
- iOS 分享微信朋友圈
- iOS 微信分享 朋友圈
- iOS 微信分享 朋友圈
- 微信分享到朋友圈
- 微信和微信朋友圈分享
- 微信分享代码,朋友圈分享代码
- 第Ⅰ部分 Squish教程
- java默认语法、EL、JSTL表达式,JSTL和struts Tag标签的使用总结
- Excel导出
- 为什么 ++[[]][+[]]+[+[]] = 10 ?
- xml中中文特殊符号用unicode表示
- Umeng微信、朋友圈分享
- python 读写JSON数据
- Contik2.7i真的测试过了2538dk平台了吗 修改lds,IEEE地址
- docker 数据卷
- 最少费用购物
- iOS 中文转拼音
- // 上传头像到服务器
- 图片转为xml,图片小一些较好
- 插入排序