android sdk引入 微信分享_Android分享 ShareSDK微信分享详解

本文介绍了如何使用ShareSDK在Android应用中集成微信分享功能,包括在ShareSDK平台创建应用,微信开放平台注册,设置应用签名,以及代码实现分享功能的详细步骤。
摘要由CSDN通过智能技术生成

本文转载自: http://www.it165.net/pro/html/201508/50793.html

(只作转载, 不代表本站和博主同意文中观点或证实文中信息)

目前市面上大大小小的软件,几乎都支持分享的功能,前几天在做的项目中也有此功能,使用的ShareSDK来实现的微信分享功能,下面就跟着我来一步步实现微信分享吧!

ShareSDK介绍:ShareSDK官网,Mob移动开发者服务平台,为全球移动开发者提供社会化分享SDK、手游视频录像SDK、免费手机短信验证码SDK,BigApp掌上社区等服务。

1.在ShareSDK注册个账户,进入创建应用的界面:

a6cefc3db6922e05a220f970b17bd471.png

点击创建应用按钮

2.输入自己的应用名称,选择开发平台(以Android为例)

9b4f4c0a7217195bc78090bb069b8491.png

3.点击确定,进入后台管理界面,此时已经生成了该应用的App Key和App Secret,这是后面分享必须的。

f0f66c6ae86ce44ee7625e179f4feba5.png

注:此时在ShareSDK配置已经完成,下面需要到各自分享的平台去申请对应的AppId和AppSecret。

4.进入微信开放平台,点击顶部的管理中心按钮

4f34237fcca0a51073b48f421b9fc5e0.png

5.填写应用信息

96601c004662ef494107183b757edfa4.png

d92007b820cb080f13d7dea463f41c6f.png

6.下一步,接着填写信息

e9262223c9302596b64d78c2777ec58b.png

46e2b62fefc41a7548359bb5f3aeb5d7.png

这里详细介绍一下签名,此处填写的签名必须和应用发布时的签名保持一致才可以分享,为了保持一致,此处的签名可以这样来产生:

使用命令来生成签名文件,命令如下:keytool -genkey -alias demo.keystore -keyalg RSA -validity 20000 -keystore demo.keystore,cmd命令行直接执行就可以了,至于输入的内容,记住密匙库口令,也就是密码,重复输入两次,输入的过程不会显示!

86ca451201639a7628e6c7ad72e598f5.png

此时在你执行命令的目录就会生成一个签名文件demo.keystore

561d89824886ac995993ed01c228260f.png

右键工程–Export

c5fa99b3735286c890b4778ec270ca5d.png

next—找到你的签名文件—输入生成签名文件时的密码

60aeee0afc4f849c6a0123d223a66007.png

520376538a6f9e813cdfc74dd4dd36e6.png

615d0b61452802f5aefe10ee26c53104.png

d1256b6e579f71f9b7314aa8febe2c72.png

上面这个图才是关键,看到Certificate fingerprints下有个MD5,咱们要的就是这个,记住这个,就是微信验证时输入的应用签名

284e4e252422e743ae1be44bca5650d4.png

把上面的md5那一串数字和字母输入在上图的应用签名一栏就可以了!!!

7.提交审核就Ok了,耐心等待,说是7天内,一般一两天就审核通过了!

33c967bf2fd67868a31a6577fe8abc4d.png

8.过个一两天应用审核通过,在管理中心可以看到应用已经审核通过。

496475ed32f14425f97bd8d33d5c3015.png

9.点击查看,可进入应用后台管理页面,可以看到,已经生成了我们分享所需要的AppId和AppSecret.

e2b3041d7247e55115bec96961d6b919.png

10.下面就是代码实现分享功能了,我们一步步来看,首先看一下工程结构图,在libs目录下导入分享所需要的jar包,在assets目录下,复制ShareSDK.xml,这是分享的配置文件,至于如何获取jar和ShareSDK.xml,请点击:Android快速集成指南。

1929aac119987c1369a353729475f7ca.png

11.打开ShareSDK.xml文件,输入shareSdk的APPKey,和已经在微信开放平台申请到的APPID和AppSecret。

09585646bdc9fb6931967f5a61e6defd.png

cd4b84369aee233137ecfc7b22b442e0.png

12.代码实现分享功能,首先在onCreate方法中初始化ShareSDK。

01.@Override

02.protected void onCreate(Bundle savedInstanceState)

03.{

04.super.onCreate(savedInstanceState);

05.setContentView(R.layout.activity_main);

06.//初始化ShareSDK

07.ShareSDK.initSDK(MainActivity.this);

08.initView();

09.}

13.封装分享的方法,微信支持四种分享类型,文本,图片,音乐,网页。

01./**

02.* 方法名称:xinWeiShare

03.*

方法描述:微信分享

04.* @param isWeiXin true为微信 false为微信朋友圈

05.* @param handler 分享界面回调 不能为空

06.* @param context 分享界面mContext

07.* @param type 分享类型    如:Platform.SHARE_TEXT,Platform.SHARE_IMAGE,Platform.SHARE_MUSIC,Platform.SHARE_WEBPAGE

08.* @param args 分享类型 如Platform.SHARE_TEXT(微信文本类型) 必须传入 两个参数(不能少传,也不能多传) :第一个为标题

09.*                                                                          第二个为分享内容

10.*

11.*             分享类型 如Platform.SHARE_IMAGE(微信图片类型) 必须传入 两个参数(不能少传,也不能多传):第一个为标题

12.*                                                                          第二个为分享图片 URL地址 或者 手机文件地址

13.*

14.*             分享类型 如Platform.SHARE_MUSIC(微信音乐分享) 必须传入 五个参数(不能少传,也不能多传):第一个为标题

15.*                                                                          第二个为分享内容

16.*                                                                          第三个为分享图片地址 URL地址 或者 手机文件地址

17.*                                                                          第四个为分享音乐地址(必须携带http:// 或者 https://)

18.*                                                                          第五个为分享音乐详细地址(必须携带http:// 或者 https://)

19.*

20.*             分享类型 如Platform.SHARE_WEBPAGE(微信网页链接分享) 必须传入四个参数(不能少传,也不能多传): 第一个为标题

21.*                                                                               第二个为分享内容

22.*                                                                               第三个为分享网页图片地址  URL地址 或者 手机文件地址

23.*                                                                               第四个为分享网页的地址 (必须携带http:// 或者 https://)

24.*

备注:

25.*/

26.public void weiXinShare(boolean isWeiXin, Handler handler, Context mContext,int type, String... args)

27.{

28.switch (type)

29.{

30.case Platform.SHARE_TEXT:

31.if (null != handler)

32.{

33.this.mHandler = handler;

34.weixinTxtShare(isWeiXin, mContext, args);

35.}

36.//微信文本分享

37.break;

38.case Platform.SHARE_IMAGE:

39.//微信图片分享

40.if (null != handler)

41.{

42.this.mHandler = handler;

43.weiXinImgShare(isWeiXin, mContext, args);

44.}

45.break;

46.case Platform.SHARE_MUSIC:

47.//分享音乐

48.if (null != handler)

49.{

50.this.mHandler = handler;

51.weixinMusicShare(isWeiXin, mContext, args);

52.}

53.break;

54.case Platform.SHARE_WEBPAGE:

55.//分享网页

56.if (null != handler)

57.{

58.this.mHandler = handler;

59.weiXinWebShare(isWeiXin, mContext, args);

60.}

61.break;

62.default:

63.break;

64.}

65.}

14.此处测试的是分享网页,分享网页的方法如下:

01./**

02.* 方法名称:xinweiWebShare

03.*

方法描述:网页分享

04.*

备注:

05.*/

06.private void weiXinWebShare(boolean isWeixin, Context mContext, String... args)

07.{

08.if (null == mContext || args.length < SHARE_WEB_MIN_LEN)

09.{

10.MainApplication.getIns().tip('分享失败');

11.return;

12.}

13.else

14.{

15.this.context = mContext;

16.for (int i =0; i < args.length; i++)

17.{

18.String str = args[i];

19.if (TextUtils.isEmpty(str) && i !=2)

20.{

21.MainApplication.getIns().tip('分享失败');

22.return;

23.}

24.}

25.String title = args[0];

26.String text = args[1];

27.String image = args[2];

28.String url = args[3];

29.WechatHelper.ShareParams sp =null;

30.if (isWeixin)

31.{

32.sp =new Wechat.ShareParams();

33.}

34.else

35.{

36.sp =new WechatMoments.ShareParams();

37.}

38.sp.title = title;

39.

40.if (TextUtils.isEmpty(image))

41.{

42.sp.imageData = ((BitmapDrawable)context.getResources().getDrawable(R.drawable.logo_mingdao)).getBitmap();

43.}

44.else if (image.contains() || image.contains())

45.{

46.sp.imageUrl = image;

47.}

48.sp.text = text;

49.if (url.contains() || url.contains())

50.{

51.sp.url = url;

52.}

53.sp.setShareType(Platform.SHARE_WEBPAGE);

54.Platform plat =null;

55.if (isWeixin)

56.{

57.plat = ShareSDK.getPlatform(Wechat.NAME);

58.}

59.else

60.{

61.plat = ShareSDK.getPlatform(WechatMoments.NAME);

62.}

63.plat.setPlatformActionListener(listener);

64.plat.share(sp);

65.}

66.}

15.具体的分享调用

01./**

02.* 方法名称:weixinShare

03.* 方法描述:微信分享

04.*/

05.private void weixinShare()

06.{

07.String shareContentTxt ='我是来自Android客户端分享实例Demo的数据';

08.String sharklink =;

09.ShareUtil.getInstance().weiXinShare(true, mHandler,this, Platform.SHARE_WEBPAGE,'Note客户端分享', shareContentTxt,'', sharklink);

10.}

11.

12./**

13.* 方法名称:weixinQuanShare

14.* 方法描述:微信朋友圈分享

15.*/

16.private void weixinQuanShare()

17.{

18.String shareContentTxt ='我是来自Android客户端分享实例Demo的数据,如果您看到此条数据,可以选择忽略它!';

19.String sharklink ='http://user.qzone.qq.com/1039163285/infocenter?ptsig=*Sb6sER-9smBstwyL28cYg2h0D99pYGcPvoySuzkGyc_';

20.ShareUtil.getInstance().weiXinShare(false, mHandler,this, Platform.SHARE_WEBPAGE, shareContentTxt,'Note客户端分享','', sharklink);

21.}

16.分享完成,测试

dd1c0578308323e47146a7c546dc267f.png

分享成功

c27bb004fb3651488e17854dc046eced.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值