Umeng微信、朋友圈分享
来源:互联网 发布:vb 墨镜 编辑:程序博客网 时间:2024/04/28 20:44
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。
既然是微信分享,想要实现分享功能,还需要在微信开发平台注册分享的权限。
0 0
- Umeng微信、朋友圈分享
- Umeng微信、朋友圈分享
- Umeng微信分享
- 干货,Umeng分享纯图片(避免跳坑)到_微信,朋友圈等
- umeng分享到微信和微信朋友圈只显示ShareContent的bug
- umeng分享微信失败
- 微信朋友圈分享
- umeng(Android)分享遇到的问题和心得,我只要分享(自定义pannel)(微信、朋友圈、QQ、QQ空间、微博分享)
- 微信分享好友,朋友圈
- 微信及朋友圈分享
- 微信分享好友,朋友圈
- android微信朋友圈分享
- iOS 分享微信朋友圈
- iOS 微信分享 朋友圈
- iOS 微信分享 朋友圈
- 微信分享到朋友圈
- 微信和微信朋友圈分享
- 微信分享代码,朋友圈分享代码
- PullToRefresh使用详解
- opencv与emgucv的参数传递
- Python 实现双向链表(图解)
- C# 项目第一天
- 获取IP地址
- Umeng微信、朋友圈分享
- 微软算法100道题-----输入一个表示整数的字符串,把该字符串转换成整数并输出
- 数据库 之 范式浅析
- 层次分析法入门笔记
- c++实现读写文件
- win7安装Ubuntu14.04双系统
- Linux安装JDK及环境变量配置
- teradata sql优化之qualify子句优化
- CentOS 6.3下Samba服务器的安装与配置