目录

ShareSDK分享配置

build.gradle配置:如下

ShareSdkUtils工具类

ShareData实体类


ShareSDK分享配置

build.gradle配置:如下

/*** ShareSDK分享* 官网:http://www.mob.com/** 文档地址:* http://www.mob.com/wiki/detailed?wiki=ShareSDK_Android_Title_ksjc&id=14** 使用方法:* 1.打开项目根目录的build.gradle,在buildscript–>dependencies 模块下面添加 classpath* classpath "com.mob.sdk:MobSDK:2018.0319.1724"* 2、app的gradle下添加* apply from: 'share.gradle'* 3、新建xxx.xxx.xxx.share包* 复制工具类ShareSdkUtils和实体类ShareData到该包下* 4、完善下面devInfo中的各分享平台相关信息**///2.在使用到Mob产品的module下面的build.gradle文件里面添加如下引用
apply plugin: 'com.mob.sdk'//3.添加MobSDK方法,配置mob的key和秘钥
// (与第2步是一个gradle中;注意:MobSDK方法是配置到文件根目录,与android并列,不要配置到android里面哦)
MobSDK {appKey ""//mob官方申请的AppkeyappSecret ""//mob官方申请的Appkey对应的AppSecret//4.添加ShareSDK平台,Gradle集成方式可以在Mob产品的module下面的build.gradle文件里面配置ShareSDK各个社交平台的key信息ShareSDK {gui false //ShareSDK默认会添加OnekeyShare库,如果您不需要这个库,可以在ShareSDK下设置“gui false”来关闭OnekeyShareloopShare false// 是否闭环分享devInfo {//来自社交平台的应用信息,// 完整的各个平台参数:https://github.com/MobClub/ShareSDK-for-Android/blob/master/SampleFresh/MobSDK.gradle// 具体字段参数说明:http://wiki.mob.com/sdk-share-android-3-0-0/QQ {appId ""appKey ""bypassApproval false //是否绕过审核}QZone {appId ""appKey ""bypassApproval false}Wechat {appId ""appSecret ""//BypassApproval是绕过审核的标记,设置为true后AppId将被忽略,故不经过审核的应用也可以执行分享,但是仅限于分享文字和图片,不能分享其他类型,默认值为false。bypassApproval false}WechatMoments {appId ""appSecret ""bypassApproval false}SinaWeibo {appKey ""appSecret ""callbackUri ""//微博开放平台:应用信息-高级信息-OAuth2.0授权设置的RedirectUrl}}}
}

ShareSdkUtils工具类

package cn.appoa.keyoule.share;import android.content.Context;
import android.text.TextUtils;import com.mob.MobSDK;import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;/*** ShareSdk封装工具类*/
public final class ShareSdkUtils {/*** 平台名称:1、微信;2、微信朋友圈;3、QQ;*/public static String[] PlatformName = {"",Wechat.NAME, WechatMoments.NAME, QQ.NAME};/*** 5.初始化MobSDK* 如果您没有在AndroidManifest中设置appliaction的类名,* MobSDK会将这个设置为com.mob.MobApplication,* 但如果您设置了,请在您自己的Application类中调用此方法** @param appContext*/public static void initShare(Context appContext) {MobSDK.init(appContext);}/*** 第三方登录** @param nameId   平台名称Id* @param listener 登录事件回调*/public static void thirdLogin(int nameId, PlatformActionListener listener) {try {thirdLogin(PlatformName[nameId], listener);} catch (ArrayIndexOutOfBoundsException e) {e.printStackTrace();}}/*** 第三方登录** @param name     平台名称* @param listener 登录事件回调*/public static void thirdLogin(String name, PlatformActionListener listener) {if (!TextUtils.isEmpty(name)) {Platform platform = ShareSDK.getPlatform(name);if (platform.isAuthValid()) {platform.removeAccount(true);// 移除授权}platform.SSOSetting(false);// 设置false表示使用SSO授权方式(使用了SSO授权后,有客户端的都会优先启用客户端授权,没客户端的则任然使用网页版进行授权)platform.setPlatformActionListener(listener);// platform.authorize();//单独授权platform.showUser(null);// 授权并获取用户信息}}/*** 退出第三方登录** @param nameId 平台名称Id*/public static void thirdLogout(int nameId) {try {thirdLogout(PlatformName[nameId]);} catch (ArrayIndexOutOfBoundsException e) {e.printStackTrace();}}/*** 退出第三方登录** @param name 平台名称*/public static void thirdLogout(String name) {if (!TextUtils.isEmpty(name)) {Platform platform = ShareSDK.getPlatform(name);if (platform.isAuthValid()) {platform.removeAccount(true);// 移除授权}}// 如果要删除授权信息,重新授权ShareSDK.removeCookieOnAuthorize(true);}/*** 分享网页** @param nameId   平台名称Id* @param data     分享数据* @param listener 分享事件回调*/public static void shareUrl(int nameId, ShareData data, PlatformActionListener listener) {try {shareUrl(PlatformName[nameId], data, listener);} catch (ArrayIndexOutOfBoundsException e) {e.printStackTrace();}}/*** 分享网页** @param name     平台名称* @param data     分享数据* @param listener 分享事件回调*/public static void shareUrl(String name, ShareData data, PlatformActionListener listener) {if (data == null) {return;}Platform.ShareParams sp = new Platform.ShareParams();if (TextUtils.equals(name, QQ.NAME)) {sp.setTitle(data.title);sp.setTitleUrl(data.titleUrl);sp.setText(data.text);if (!TextUtils.isEmpty(data.imageUrl)) {sp.setImageUrl(data.imageUrl);} else if (!TextUtils.isEmpty(data.imagePath)) {sp.setImagePath(data.imagePath);}} else if (TextUtils.equals(name, Wechat.NAME) ||TextUtils.equals(name, WechatMoments.NAME)) {sp.setShareType(Platform.SHARE_WEBPAGE);sp.setTitle(data.title);sp.setText(data.text);if (!TextUtils.isEmpty(data.imageUrl)) {sp.setImageUrl(data.imageUrl);} else if (!TextUtils.isEmpty(data.imagePath)) {sp.setImagePath(data.imagePath);} else if (data.imageData != null) {sp.setImageData(data.imageData);}sp.setUrl(data.url);}Platform platform = ShareSDK.getPlatform(name);platform.setPlatformActionListener(listener);platform.share(sp);}/*** 分享图片** @param nameId   平台名称Id* @param data     分享数据* @param listener 分享事件回调*/public static void sharePic(int nameId, ShareData data, PlatformActionListener listener) {try {sharePic(PlatformName[nameId], data, listener);} catch (ArrayIndexOutOfBoundsException e) {e.printStackTrace();}}/*** 分享图片** @param name     平台名称* @param data     分享数据* @param listener 分享事件回调*/public static void sharePic(String name, ShareData data, PlatformActionListener listener) {if (data == null) {return;}if (TextUtils.isEmpty(data.imageUrl) &&TextUtils.isEmpty(data.imagePath) && data.imageData == null) {return;}Platform.ShareParams sp = new Platform.ShareParams();if (TextUtils.equals(name, Wechat.NAME) ||TextUtils.equals(name, WechatMoments.NAME)) {sp.setShareType(Platform.SHARE_IMAGE);}if (!TextUtils.isEmpty(data.imageUrl)) {sp.setImageUrl(data.imageUrl);} else if (!TextUtils.isEmpty(data.imagePath)) {sp.setImagePath(data.imagePath);} else if (data.imageData != null) {sp.setImageData(data.imageData);}Platform platform = ShareSDK.getPlatform(name);platform.setPlatformActionListener(listener);platform.share(sp);}}

ShareData实体类

package cn.appoa.keyoule.share;import android.graphics.Bitmap;import java.io.Serializable;/*** 分享数据** @see http://www.mob.com/wiki/detailed?wiki=ShareSDK_Android_APISHARE_title_dsfptfxcssm&id=14* <p>* 有imageUrl(”网络图片链接”)、imagePath(“/sdcard/abc.jpg”)、imageData(bitmap)是三选一*/
public class ShareData implements Serializable {//QQ分享public String title;//最多30个字符public String titleUrl;public String text;//最多40个字符public String imagePath;public String imageUrl;//QQ空间发表说说//public String text;//public String imagePath;//public String imageUrl;public String site;public String siteUrl;//QQ空间分享图文(分享时一定要携带title、titleUrl、site、siteUrl)//public String title;//最多200个字符//public String titleUrl;//public String text;//最多600个字符//public String imagePath;//public String imageUrl;//public String site;//分享此内容的网站名称,仅在QQ空间使用//public String siteUrl;//分享此内容的网站地址,仅在QQ空间使用//微信分享网页//shareType(Platform.SHARE_WEBPAGE)//public String title;//512Bytes以内//public String text;//(朋友圈不显示此字段)1KB以内//public String imagePath;//10M以内(传递的imagePath路径不能超过10KB)//public String imageUrl;//10KB以内,图片打不开不能分享public Bitmap imageData;//10M以内public String url;//新浪微博分享图文//public String text;//140字符以内,微博分享链接是将链接写到text内//public String imagePath;//微博客户端分享图片不能大于2M,仅支持JPEG、GIF、PNG格式//public String imageUrl;//public String imageData;public ShareData() {}public ShareData(String title, String text,String imagePath, String imageUrl, Bitmap imageData, String url) {this.title = title;this.titleUrl = url;this.text = text;this.imagePath = imagePath;this.imageUrl = imageUrl;this.site = title;this.siteUrl = url;this.imageData = imageData;this.url = url;}/*** 设置分享内容*/public void setShareData(String title, String text,String imagePath, String imageUrl, Bitmap imageData, String url) {this.title = title;this.titleUrl = url;this.text = text;this.imagePath = imagePath;this.imageUrl = imageUrl;this.site = title;this.siteUrl = url;this.imageData = imageData;this.url = url;}}

关于ShareSDK分享配置相关推荐

  1. android sharesdk分享功能,Android ShareSDK快速实现分享功能

    第一步 :获取ShareSDK 为了集成ShareSDK,您首先需要到ShareSDK官方网站注册并且创建应用,获得ShareSDK的Appkey,然后到SDK的下载页面下载SDK的压缩包,解压以后可 ...

  2. 总结shareSDK分享到各平台需注意

    总结shareSDK分享到各平台需注意: 1.apk签名文件和平台上使用签名工具生成的key是否一致 2.使用OnekeyShare类可设置一键分享的内容属性 3.若要修改shareSDK的分享内容界 ...

  3. Android app快速集成Mob shareSDK分享到微信和QQ

    Android app集成Mob shareSDK分享到微信和QQ 在线安装方法介绍 注意需要用到的appKey和appSecret 请自行到http://www.mob.com官网申请,这里不介绍申 ...

  4. iOS shareSDK分享 只分享到微信好友和微信朋友圈

    2019独角兽企业重金招聘Python工程师标准>>> //分享配置 - (void)setUpShareSDK{/**初始化ShareSDK应用*/[ShareSDK regist ...

  5. 微信公众号分享配置无效。。分享出来的只是纯链接了,如何自定义微信公众号的分享

    微信公众号分享配置无效..分享出来的只是纯链接了 挺久没接微信公众号的项目开发了,最近突然接了一个,结果微信自定义分享给我整懵了.原本配置的好好的,屡试不爽的代码,居然死活不生效,开启debug,开发 ...

  6. H5分享页面(1)——web端二次分享配置内容

    在H5分享页面中,如果用户进行了二次分享,需要进行一些配置才能进行使用,如微信二次分享就必须调用微信的JS-SDK来完成.下面对分享配置代码进行了封装: 存放路径:public/resources/j ...

  7. sharesdk分享qq空间-错误码1001

    使用sharesdk登录和分享的时候有时候会遇到错误码:1001的问题. 我再遇到1001错误的时候,是通过处理设置的参数搞定的. 应该注意一下几点: 1.url中有空格 2.文本信息过长 3.设置图 ...

  8. sharesdk分享失败404_shareSDK微信分享图片url识别失败

    例: 图片链接 浏览器中可以打开,但使用shareSDK分享的时候,报错: IMG_2798.jpg 打印出的log: shareWechat: { item = ( { icon = "h ...

  9. ShareSDK分享集成详细过程

    ShareSDK分享功能详细集成步骤(针对没集成过的菜鸟而写,大神路过,如有不足欢迎指出) 官方集成文档 一.对于没有集成过的新手来说,首先是要拥有一个自己的Mob账号,如有请自动略过此部分 1.注册 ...

最新文章

  1. 机器学习与高维信息检索 - Note 6 - 核, 核方法与核函数(Kernels and the Kernel Trick)
  2. LeetCode 37. Sudoku Solver--数独求解(回溯法)--Java 3ms,Python 80ms 解法
  3. Ubuntu12下挂载硬盘(9TB)
  4. ccxprocess启动项可以禁用么_macOS 删除烦人的CCXProcess.app
  5. Hive学习笔记 —— Hive的安装
  6. 【linux操作回炉1】
  7. GDB调试程序(二)
  8. pytorch中CrossEntropyLoss和NLLLoss的区别与联系
  9. 字符串中第一次重复出现的数及第一次不重复出现的数
  10. 做了一个阿里云MQTT单片机编程小工具
  11. vb 字符串长度_学习VB编程第5天 基础知识需要一点点积累
  12. 「代码随想录」本周学习小结!(动态规划系列五)
  13. 谈谈Memcached与Redis(三)
  14. Ping32文档透明加密软件基础概念
  15. linux yum vsftpd,CentOS 7 使用Yum方式安装配置vsftpd服务
  16. C语言基础知识梳理总结
  17. PVE下的黑群晖的其他后续设置
  18. (数据库系统)(十一)并发控制
  19. y=asin(wx+φ)的对称中心_函数y=Asin(wx+φ)图像和性质
  20. 首台“黄冈造”智能剥虾机交付,1分钟剥虾上千只!网友不买账:不,这只是头尾分离...

热门文章

  1. 【QT小记】QT中如何弹起菜单
  2. 【2019-08-19】新,是一种魔力
  3. html 页面如何引用阿里云图标?
  4. 工作6年被裁员,所谓经验根本不值钱
  5. windows下京东云擎上git的用法简介
  6. 计算机中软盘硬盘都有吗,软盘、硬盘、磁盘和内存的区别与联系
  7. 有了这款APP,妈妈再也不用担心我的黄江水车违章了!黄江王子阳原创
  8. linux usb升级,广成 USBCAN-II Pro V502 linux下升级经验
  9. dedecms织梦网站文章动态显示浏览次数
  10. 知识付费的时代,哪些应该付费学习?