android sdk引入 微信分享_Android分享 ShareSDK微信分享详解
本文转载自: http://www.it165.net/pro/html/201508/50793.html
(只作转载, 不代表本站和博主同意文中观点或证实文中信息)
目前市面上大大小小的软件,几乎都支持分享的功能,前几天在做的项目中也有此功能,使用的ShareSDK来实现的微信分享功能,下面就跟着我来一步步实现微信分享吧!
ShareSDK介绍:ShareSDK官网,Mob移动开发者服务平台,为全球移动开发者提供社会化分享SDK、手游视频录像SDK、免费手机短信验证码SDK,BigApp掌上社区等服务。
1.在ShareSDK注册个账户,进入创建应用的界面:
点击创建应用按钮
2.输入自己的应用名称,选择开发平台(以Android为例)
3.点击确定,进入后台管理界面,此时已经生成了该应用的App Key和App Secret,这是后面分享必须的。
注:此时在ShareSDK配置已经完成,下面需要到各自分享的平台去申请对应的AppId和AppSecret。
4.进入微信开放平台,点击顶部的管理中心按钮
5.填写应用信息
6.下一步,接着填写信息
这里详细介绍一下签名,此处填写的签名必须和应用发布时的签名保持一致才可以分享,为了保持一致,此处的签名可以这样来产生:
使用命令来生成签名文件,命令如下:keytool -genkey -alias demo.keystore -keyalg RSA -validity 20000 -keystore demo.keystore,cmd命令行直接执行就可以了,至于输入的内容,记住密匙库口令,也就是密码,重复输入两次,输入的过程不会显示!
此时在你执行命令的目录就会生成一个签名文件demo.keystore
右键工程–Export
next—找到你的签名文件—输入生成签名文件时的密码
上面这个图才是关键,看到Certificate fingerprints下有个MD5,咱们要的就是这个,记住这个,就是微信验证时输入的应用签名
把上面的md5那一串数字和字母输入在上图的应用签名一栏就可以了!!!
7.提交审核就Ok了,耐心等待,说是7天内,一般一两天就审核通过了!
8.过个一两天应用审核通过,在管理中心可以看到应用已经审核通过。
9.点击查看,可进入应用后台管理页面,可以看到,已经生成了我们分享所需要的AppId和AppSecret.
10.下面就是代码实现分享功能了,我们一步步来看,首先看一下工程结构图,在libs目录下导入分享所需要的jar包,在assets目录下,复制ShareSDK.xml,这是分享的配置文件,至于如何获取jar和ShareSDK.xml,请点击:Android快速集成指南。
11.打开ShareSDK.xml文件,输入shareSdk的APPKey,和已经在微信开放平台申请到的APPID和AppSecret。
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.分享完成,测试
分享成功
android sdk引入 微信分享_Android分享 ShareSDK微信分享详解相关推荐
- 浙大计算机学院夏令营面试,学姐经验分享丨夏令营面试准备 套路详解!
原标题:学姐经验分享丨夏令营面试准备 & 套路详解! A:哎,小B,我听说夏令营面试很重要,你准备好了吗? B:没有欸,自我介绍.专业知识考核.英语考核什么的感觉好复杂. A:是啊,听说还有什 ...
- 我的世界java版区块显示_我的世界手游区块显示指令分享:区块玩法操作详解[多图]...
我的世界手游区块是一个独特的机制,很多玩家对于区块是什么不太了解,区块显示指令以及区块的产生不是很熟悉,为了帮助到大家,今天小编就为大家带来我的世界手游区块显示指令分享:区块玩法操作详解的内容,希望大 ...
- 小程序setdata优化_微信小程序 setData的使用方法详解
微信小程序 setData的使用方法详解 微信小程序 setData的使用方法详解 最近在使用微信小程序的setData时,遇到了以下问题.如下: 官网文档在使用setData()设置数组对象的某个元 ...
- 微信服务号及支付功能接入详解
本文同步至个人博客 微信服务号及支付功能接入详解,转载请注明出处 最近在实现微信服务号支付功能,这边对接入商户资料审核及接口接入相关内容进行梳理. 旨在理清相关帐号的申请流程.整理服务开通.开发数据的 ...
- Android基础入门教程——2.3.1 TextView(文本框)详解
Android基础入门教程--2.3.1 TextView(文本框)详解 标签(空格分隔): Android基础入门教程 本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解And ...
- Android Studio打不开虚拟机,两种情况详解
Android Studio打不开虚拟机,两种情况详解 文章目录 Android Studio打不开虚拟机,两种情况详解 1.VT-x is disabled in BIOS 2.Emulator文件 ...
- Android四大组件之——Activity的生命周期(图文详解)
转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai 联系方式:JohnTsai.Work@gmail.com [Andro ...
- 微信小程token_微信小程序url与token设置详解
微信小程序url与token设置详解 新浪云应用sae的代码里创建一个weixin.php文件,写入以下代码 isValid(); class wechatAPI { public function ...
- 微信小程序一键置顶操作详解:
微信小程序一键置顶操作详解: 第一种方式:采用scroll-view滚动视图实现 第二种方式,直接用view实现 第一种方式:采用scroll-view滚动视图实现 下面是代码简介: wxml文件代码 ...
- android相册和拍照并裁剪图片大小,Android 拍照并对照片进行裁剪和压缩实例详解...
Android 拍照并对照片进行裁剪和压缩实例详解 本文主要介绍 Android 调用摄像头拍照并对照片进行裁剪和压缩,文中给出了主要步骤和关键代码. 调用摄像头拍照,对拍摄照片进行裁剪,代码如下. ...
最新文章
- 漫画:前端发展史的江湖恩怨情仇
- MySQL笔记2: count() 函数和 sum() 函数用法和区别
- Linux vi 命令使用说明
- 三十岁前不要去在乎的18件事
- windows查看端口号占用
- matplotlib数据可视化实战——折线图+散点图
- 十大热门编程语言入门难度排名
- 今天来聊聊CAD的“外挂”
- wifi握手包自动跑包
- [Pytorch系列-35]:卷积神经网络 - 搭建LeNet-5网络与CFAR10分类数据集
- 【对讲机的那点事】手把手教你给摩托罗拉C1200数字对讲机写频
- vim的复制、粘贴操作
- 如何用计算机算出我喜欢你,如何用数字表白我喜欢你?
- 海德汉角度编码器RCN727F与替代型号RCN8390F参数对比
- 什么是绿色工厂?申报绿色工厂对企业有什么好处?
- oracle 通信通道异常,(oracle)ORA-03113: 通信通道的文件结尾错误处理
- 关于MediaCode播放H265/hevc的总结
- centos7.5下gmssl安装使用教程
- mysql 管理instance_MySQL从零开始——第三章 MySQL体系结构
- 截至20161210深市股票代码和名称
热门文章
- CSDN富文本编辑器去除空行
- 英语六级高频词汇速记 + 2018-12-1听力 Day03
- Windows PC 微信不显示头像或表情
- TKK: 更新 TKK 失败,请检查网络连接,推荐其他
- java jnlp_使用Java 7启动JNLP时的NoSuchAlgorithmException
- 遗传算法(Genetic Algorithm)详解与实现
- 核磁共振三维重建(视频)
- 教你一招快速清理DNS缓存
- Reality Shares联合纳斯达克,将推出区块链经济指数
- Codeforces Round #599 (Div. 2) B2. Character Swap (Hard Version)