试用友盟SDK实现Android分享微信朋友圈

阅读: 评论:0

试用友盟SDK实现Android分享微信朋友圈

试用友盟SDK实现Android分享微信朋友圈

   社会化分享是目前必学且火热的功能。之前有写第三方登录,那只是社会化分享的一部分。今天来玩玩分享微信朋友圈。

   为了方便操作,还是按照步骤写。

一,注册

   注册应用已经在这里详细说明过了,这里就不多提了。


二,在微信开放平台中授权开发者身份,以及注册应用

   链接:/ 进入管理中心 提交个人(公司)资料注册开发者信息(需要审核等待),通过后再创建移动应用(确保Package和Appname的一致性)之后拿到应用的AppId和Appsecret


三,开始集成

   下载友盟SDK: 选择需要用到的平台以及导入方式 然后将Lib导入项目(也可以通过SDKIntegration.jar生成Lib)

    接着在l中注册如下信息:

  <!-- 友盟Appkey -->     <meta-dataandroid:name="UMENG_APPKEY"android:value="55ab020d67e58e8404004fe6" /><activityandroid: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" /><activityandroid:name="com.dengyy.demos_dyy.wxapi.WXEntryActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait" />    


  加入权限:

  

   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_LOGS" /><uses-permission android:name="android.permission.CALL_PHONE" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!-- renren sso Permission for Unit Test --><!-- QQ、QQ空间所需权限 --><uses-permission android:name="android.permission.GET_TASKS" /><uses-permission android:name="android.permission.SET_DEBUG_APP" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name="android.permission.GET_ACCOUNTS" /><uses-permission android:name="android.permission.USE_CREDENTIALS" /><uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

   之后在Activity
		// 首先在您的Activity中添加如下成员变量mController = UMSocialService("com.umeng.share");// 设置分享内容mController.setShareContent(Text().toString());// 设置分享图片, 参数2为图片的url地址mController.setShareMedia(new UMImage(SocialSharingActivity.this,R.drawable.ic_launcher));mController.setShareBoardListener(new UMShareBoardListener() {@Overridepublic void onShow() {isShow = true;}@Overridepublic void onDismiss() {isShow = false;}});// 设置分享图片,参数2为本地图片的资源引用// mController.setShareMedia(new UMImage(getActivity(),// R.drawable.icon));// 设置分享图片,参数2为本地图片的路径(绝对路径)// mController.setShareMedia(new UMImage(getActivity(),// BitmapFactory.decodeFile("/mnt/sdcard/icon.png")));// 设置分享音乐// UMusic uMusic = new// UMusic(".mp3");// uMusic.setAuthor("GuGu");// uMusic.setTitle("天籁之音");// 设置音乐缩略图// uMusic.setThumb(".png");// mController.setShareMedia(uMusic);// 设置分享视频// UMVideo umVideo = new UMVideo(// ".html?f=19001023");// 设置视频缩略图// umVideo.setThumb(".png");// umVideo.setTitle("友盟社会化分享!");// mController.setShareMedia(umVideo);initWeiXin();initWeiXinPY();

   initWeiXin和initWeiXinPY方法:

/*** 微信支持纯文字,纯图片(点击查看大图),图文,音乐,视频分享。SSO设置*/private void initWeiXin() {String appID = "你在微信开放平台注册应用id";String appSecret = "你在微信开放平台注册应用Secret";// 添加微信平台UMWXHandler wxHandler = new UMWXHandler(SocialSharingActivity.this, appID, appSecret);// 设置TitlewxHandler.setTitle("title!");// 设置分享内容mController.setShareContent(Text().toString());// 设置URLwxHandler.setTargetUrl("/");wxHandler.addToSocialSDK();}/*** 朋友圈支持纯文字,纯图片(点击查看大图),图文,音乐,视频分享。SSO设置*/private void initWeiXinPY() {String appID = "你在微信开放平台注册应用id";String appSecret = "你在微信开放平台注册应用Secret";// 添加微信朋友圈UMWXHandler wxCircleHandler = new UMWXHandler(SocialSharingActivity.this, appID, appSecret);// 设置TitlewxCircleHandler.setTitle("title!");// 设置分享内容mController.setShareContent(Text().toString());// 设置URLwxCircleHandler.setTargetUrl("/");wxCircleHandler.setToCircle(true);wxCircleHandler.addToSocialSDK();}

   打开分享选项页:

  // 是否只有已登录用户才能打开分享选择页mController.openShare(SocialSharingActivity.this, false);

  设置分享回调:

   

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {ActivityResult(requestCode, resultCode, data);/** 使用SSO授权必须添加如下代码 */UMSsoHandler ssoHandler = Config().getSsoHandler(requestCode);if (ssoHandler != null) {ssoHandler.authorizeCallBack(requestCode, resultCode, data);}}

    为了方便理解,我将整个activity代码贴出来:

  

package com.dengyy.demos_dyy.social_sharing_demo;import android.app.Activity;
t.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;import com.dengyy.demos_dyy.R;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.ller.UMServiceFactory;
import com.ller.UMSocialService;
import com.ller.listener.SocializeListeners.UMShareBoardListener;
import com.dia.QQShareContent;
import com.dia.QZoneShareContent;
import com.dia.UMImage;
import com.umeng.socialize.sso.QZoneSsoHandler;
import com.umeng.socialize.sso.SinaSsoHandler;
import com.umeng.socialize.sso.TencentWBSsoHandler;
import com.umeng.socialize.sso.UMQQSsoHandler;
import com.umeng.socialize.sso.UMSsoHandler;
import com.umeng.ller.UMWXHandler;/*** Created by dyy on 2015/7/18.*/
public class SocialSharingActivity extends Activity {private Button go_btn;private EditText content_et;private UMSocialService mController;private boolean isShow;@Overrideprotected void onCreate(Bundle savedInstanceState) {Create(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.social_sharing_activity);go_btn = (Button) findViewById(_btn);content_et = (EditText) findViewById(t_et);initData();Config().removePlatform(SHARE_MEDIA.RENREN, SHARE_MEDIA.DOUBAN);go_btn.setOnClickListener(new OnClickListener() {public void onClick(View v) {// 是否只有已登录用户才能打开分享选择页mController.openShare(SocialSharingActivity.this, false);}});}private void initData() {// 首先在您的Activity中添加如下成员变量mController = UMSocialService("com.umeng.share");// 设置分享内容mController.setShareContent(Text().toString());// 设置分享图片, 参数2为图片的url地址mController.setShareMedia(new UMImage(SocialSharingActivity.this,R.drawable.ic_launcher));mController.setShareBoardListener(new UMShareBoardListener() {@Overridepublic void onShow() {isShow = true;}@Overridepublic void onDismiss() {isShow = false;}});// 设置分享图片,参数2为本地图片的资源引用// mController.setShareMedia(new UMImage(getActivity(),// R.drawable.icon));// 设置分享图片,参数2为本地图片的路径(绝对路径)// mController.setShareMedia(new UMImage(getActivity(),// BitmapFactory.decodeFile("/mnt/sdcard/icon.png")));// 设置分享音乐// UMusic uMusic = new// UMusic(".mp3");// uMusic.setAuthor("GuGu");// uMusic.setTitle("天籁之音");// 设置音乐缩略图// uMusic.setThumb(".png");// mController.setShareMedia(uMusic);// 设置分享视频// UMVideo umVideo = new UMVideo(// ".html?f=19001023");// 设置视频缩略图// umVideo.setThumb(".png");// umVideo.setTitle("友盟社会化分享!");// mController.setShareMedia(umVideo);initWeiXin();initWeiXinPY();initQQ();initQQZone();}//隐藏分享面板
//	public boolean onKeyDown(int keyCode, KeyEvent event) {
//		if(isShow && keyCode == KeyEvent.KEYCODE_BACK){
//			mController.dismissShareBoard();
//			return true;
//		}
//		return isShow;
//	}/*** 微信支持纯文字,纯图片(点击查看大图),图文,音乐,视频分享。SSO设置*/private void initWeiXin() {String appID = "appID";String appSecret = "appSecret";// 添加微信平台UMWXHandler wxHandler = new UMWXHandler(SocialSharingActivity.this, appID, appSecret);// 设置TitlewxHandler.setTitle("title!");// 设置分享内容mController.setShareContent(Text().toString());// 设置URLwxHandler.setTargetUrl("/");wxHandler.addToSocialSDK();}/*** 朋友圈支持纯文字,纯图片(点击查看大图),图文,音乐,视频分享。SSO设置*/private void initWeiXinPY() {String appID = "appID";String appSecret = "appSecret";// 添加微信朋友圈UMWXHandler wxCircleHandler = new UMWXHandler(SocialSharingActivity.this, appID, appSecret);// 设置TitlewxCircleHandler.setTitle("title!");// 设置分享内容mController.setShareContent(Text().toString());// 设置URLwxCircleHandler.setTargetUrl("/");wxCircleHandler.setToCircle(true);wxCircleHandler.addToSocialSDK();}/*** QQ SSO设置*/private void initQQ() {// 参数1为当前Activity,参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(SocialSharingActivity.this, "APP ID", "APP kEY");qqSsoHandler.addToSocialSDK();QQShareContent qqShareContent = new QQShareContent();qqShareContent.setShareContent(Text().toString());qqShareContent.setTitle("title!");qqShareContent.setShareImage(new UMImage(SocialSharingActivity.this, R.drawable.ic_launcher));qqShareContent.setTargetUrl("/");mController.setShareMedia(qqShareContent);}/*** QQ空间SSO设置*/private void initQQZone() {// 参数1为当前Activity,参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(SocialSharingActivity.this, "APP ID", "APP kEY");qZoneSsoHandler.setTargetUrl("/");qZoneSsoHandler.addToSocialSDK();QZoneShareContent QZoneShareContent = new QZoneShareContent();QZoneShareContent.setTitle("title!");QZoneShareContent.setShareContent(Text().toString());QZoneShareContent.setShareImage(new UMImage(SocialSharingActivity.this, R.drawable.ic_launcher));QZoneShareContent.setTargetUrl("/");mController.setShareMedia(QZoneShareContent);}/*** 新浪微博SSO设置*/private void initSina() {// 设置新浪Config().setSsoHandler(new SinaSsoHandler());}/*** 腾讯微博SSO设置*/private void initTentenWB() {// 设置腾讯微博Config().setSsoHandler(new TencentWBSsoHandler());}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {ActivityResult(requestCode, resultCode, data);/** 使用SSO授权必须添加如下代码 */UMSsoHandler ssoHandler = Config().getSsoHandler(requestCode);if (ssoHandler != null) {ssoHandler.authorizeCallBack(requestCode, resultCode, data);}}
}
  

    到了这里,基本通过友盟SDK实现了社会化分享功能。

  运行效果:

  如果想知道关于新浪微博,人人网等其他渠道分享和登录的话,可以查阅友盟官方文档:

本文发布于:2024-02-05 06:24:11,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170726191663819.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:朋友圈   SDK   Android
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23