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>


5.在mainActivity的oncreate中添加如下方法
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
原创粉丝点击