ShareSDK集成微信、QQ、微博分享

1、前言

为什么要使用第三方的作为集成分享的工具呢?而不去用官方的呢?有什么区别么?
一个字”快”,如果你使用官方的得一个个集成他们的SDK,相信这是一个痛苦的过程。

2、准备需要分享的各个平台的key

这个需要自己去各个开放平台注册应用得到appkey,
才可以分享到该平台(QQ、微信、微博开放平台),
不然人家也不会让你无故分享到他们的平台

3、申请ShareSDK的appkey

http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1

4、下载SDK

http://www.mob.com/#/downloadDetail/ShareSDK/android

5、开始集成

官方集成地址http://www.cnblogs.com/smyhvae/p/4585340.html

添加应用信息:

先在app这个module(即我们这个项目的module)下新建一个assets文件夹(即第三方资产目录),操作如下:

然后,我们将上图中的ShareSDK.xml文件复制到assets目录下。

(1)然后配置AndroidManifest.xml添加权限

    <uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/><uses-permission android:name="android.permission.GET_ACCOUNTS"/>

(2)在application结点下注册activity

<activity
            android:name="com.mob.tools.MobUIShell"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:screenOrientation="portrait"android:windowSoftInputMode="stateHidden|adjustResize" ><intent-filter><data android:scheme="tencent1104646053" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>

主要用于QQ分享

如果项目集成了微信,还需要添加以下WXEntryActivity,不然的话,mob后台无法做微信的分享统计:(注意:一定要在工程的包下新建wxapi目录再放置WXEntryActivity,包名、包名、包名wxapi

 * 官网地站:http://www.mob.com* 技术支持QQ: 4006852216* 官方微信:ShareSDK   (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复)** Copyright (c) 2013年 mob.com. All rights reserved.*/
package com.smyhvae.sharedemo.wxapi;
import android.content.Intent;
import android.widget.Toast;
import cn.sharesdk.wechat.utils.WXAppExtendObject;
import cn.sharesdk.wechat.utils.WXMediaMessage;
import cn.sharesdk.wechat.utils.WechatHandlerActivity;
/** 微信客户端回调activity示例 */
public class WXEntryActivity extends WechatHandlerActivity {/*** 处理微信发出的向第三方应用请求app message* <p>* 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中* 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可* 做点其他的事情,包括根本不打开任何页面*/public void onGetMessageFromWXReq(WXMediaMessage msg) {Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());startActivity(iLaunchMyself);}/*** 处理微信向第三方应用发起的消息* <p>* 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享* 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信* 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作* 回调。* <p>* 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast*/public void onShowMessageFromWXReq(WXMediaMessage msg) {if (msg != null && msg.mediaObject != null&& (msg.mediaObject instanceof WXAppExtendObject)) {WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject;Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show();}}
}

同时,在清单文件中进行声明:

        <activity
            android:name=".wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar"/>

(3)添加代码

集成ShareSDK至少需要在两个位置添加代码,包括:

(一)在项目的入口Activity,在其onCreate方法中插入下面的代码进行初始化:(这个方法越早调用越好)

ShareSDK.initSDK(this);

如果不在所有的ShareSDK的操作之前调用这行代码,就会抛出空指针异常。

(二)在项目出口Activity的onDestroy方法中第一行插入下面的代码:

ShareSDK.stopSDK(this);

上方这行代码会结束ShareSDK的统计功能并释放资源。如果这行代码没有被调用,那么“应用启动次数”将会不准确,因为应用可能从来没有被关闭过(注:这一行代码我还是没用到,不知道会造成什么实质性的后果)。

开始编写分享代码
分享到微信好友:

Wechat.ShareParams sp = new Wechat.ShareParams();
sp.setTitle(resp.getTitle());
sp.setText(resp.getDescription());
sp.setShareType(Platform.SHARE_WEBPAGE);
sp.setUrl(resp.getLink());
sp.setImageUrl(resp.getIcon());
Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
wechat.setPlatformActionListener(new PlatformActionListener() {  @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {  popupWindow.dismiss();  statisticsShareCount();    ToastUtils.show(context, "分享成功");  }   @Override   public void onError(Platform platform, int i, Throwable throwable) {     ToastUtils.show(context, "分享失败");  }   @Override public void onCancel(Platform platform, int i) {  ToastUtils.show(context, "分享取消");  }
});
// 执行图文分享wechat.share(sp);

参考链接

在Android Studio中使用shareSDK进行社会化分享(图文教程) - 生命壹号 - 博客园

Android 使用ShareSDK集成微信、QQ、微博分享 - 简书

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度|一篇文章解读人工智能的原理及产业升级机会

来源&#xff1a;人工智能腾讯数码摘要&#xff1a;人工智能看上去高高在上&#xff0c;实际上前沿科技公司都寄希望于这种长期研究为其目前的业务带来新的发展机会&#xff0c;神经网络、机器学习、深度学习构建了人工智能基础&#xff0c;本文阐述了三大基础是如何运作和实现…

可自由扩展的圆角矩形制作方法

转自&#xff1a;http://golen.blog.sohu.com/96114249.html 制作一个好的web标准站点,扩展性要多考虑,扩展性做的好的网站,会给后期的维护和升级会带来很大的方便.现在总结一下我做web以来,可扩展的圆角矩形的制作方法:方法一:命名:round.gif: 代码如下: <!DOCTYPE html PU…

GE刚刚换帅,就向艾默生出售智能平台业务?刚刚换帅,GE又向艾默生出售智能平台业务,未来究竟何去何从?...

来源&#xff1a;路透社、知识自动化等物联网智库 整理发布摘要&#xff1a;智能平台出售背后&#xff0c;GE和艾默生各自有何打算&#xff1f;GE多事之秋能否迎来回春转机&#xff1f;昨晚&#xff0c;据消息&#xff1a;艾默生电气公司(Emerson Electric)同意收购通用电气&am…

豆瓣加载动画实现

最终效果如下 ValueAnimator类API 简介 ofFloat(float… values) 构建ValueAnimator&#xff0c;设置动画的浮点值&#xff0c;需要设置2个以上的值setDuration(long duration) 设置动画时长&#xff0c;默认的持续时间为300毫秒。setInterpolator(TimeInterpolator value) 设…

下一次 IT 变革:边缘计算(Edge computing)

来源&#xff1a;云头条摘要&#xff1a;外媒 ZDnet 发布了此篇边缘计算领域的重要文章&#xff0c;详细分析了各机构不同的定义、市场状况、前景等&#xff0c;经编译&#xff0c;供各位参考数十亿物联网设备和5G网络这两股力量必将推动计算工作负载的部署方式发生深远而重大的…

WebService入门

webservice 的概念&#xff0c;解决什么问题&#xff1f; webservice 就是一个应用程序&#xff0c;它提供一种通过web 方式访问的api. 解决两个系统或者&#xff08;应用程序&#xff09;之间的远程调用….. 调用是跨语言&#xff0c;跨平台… webservice 最基本的组成部分…

Google联手Facebook 要在AI研究上搞什么大事?

来源&#xff1a;网易智能 摘要&#xff1a;Google和Facebook宣布&#xff0c;使开源机器学习框架PyTorch与Tensor-Processing Units&#xff08;TPU&#xff09;进行合作。这种伙伴关系标志着人工智能研究合作进入新时代。“今天&#xff0c;我们很高兴地宣布&#xff0c;Goog…

WebService之CXF框架

本文主要包括以下内容 ant工具的使用利用cxf实现webservicecxf与spring整合 ajax访问webservice ant 工具 1、为什么要用到ant这个工具呢&#xff1f; Ant做为一种工具已经广泛被使用&#xff0c;并且历史悠久。 使用ant的内置命令&#xff0c;可以编译java源文件(javac)…

Java之IO操作总结

所谓IO&#xff0c;也就是Input与Output的缩写。在java中&#xff0c;IO涉及的范围比较大&#xff0c;这里主要讨论针对文件内容的读写 其他知识点将放置后续章节 对于文件内容的操作主要分为两大类 分别是&#xff1a; 字符流字节流 其中&#xff0c;字符流有两个抽象类&…

谷歌无人车离奇车祸曝光:人类安全员睡着后,误触关闭了自动驾驶

来源&#xff1a;量子位离奇&#xff0c;真离奇。一场已经被掩盖数月的谷歌无人车&#xff08;Waymo&#xff09;离奇车祸&#xff0c;刚刚被The Information曝光。车祸的发生地&#xff0c;就在距离谷歌加州山景城总部不远的高速公路上。那是一个六月的早晨。一辆Waymo无人车正…

强烈推荐:240多个jQuery插件

概述 jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。其宗旨是—写更少的代码,做更多的事情。它是轻量级的 js 库(压缩后只有21k) &#xff0c;这是其它的 js 库所不及的&#xff0c;它兼容 CSS3&#xff0c;还兼容各种浏览器&#xff08;IE 6.0, FF 1.5, Safari 2.…

揭秘|超乎想象!未来50年将出现的九大黑科技……

来源&#xff1a;世界科技创新论坛Insititute for the Future是一家专门做预测的研究机构。该机构的首席研究总监Mark Frauenfelder详细描述了人类在未来能够用上&#xff0c;而今天却仍被认为不可能发生的事物。赶快一起来看看这些未来将出现的黑科技吧。1、大脑移植&#xff…

Android手绘效果实现

效果图 原理 大概介绍一下实现原理。首先你得有一张图&#xff08;废话~&#xff09;,接下来就是把这张图的轮廓提取出来&#xff0c;轮廓提取算法有很多&#xff0c;本人不是搞图像处理的&#xff0c;对图像处理感兴趣的童鞋可以查看相关资料。如果你有好的轮廓提取算法&…

干货|120页精华PPT详解工业机器人本体设计运算及仿真

来源&#xff1a;哈尔滨工业大学摘要&#xff1a;120页精华PPT详解工业机器人本体设计运算及仿真未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体…

环信SDK集成

利用环信SDK可以实现即时通讯&#xff0c;但在集成的过程中碰到了不少的坑。 注意 选择项目路径&#xff0c;这里以最新版环信demo为例 注意&#xff1a;环信的ChatDemoUI这个demo里边因为研发的同事为了照顾老版本的AndroidStudio使用者&#xff0c;已经用eclipse生成了bui…

协作机器人先驱宣布倒闭!累计融资10.3亿元,贝佐斯投资八轮

来源&#xff1a;量子位一家机器人领域的头部玩家&#xff0c;还不是说倒下就倒下了。上个月&#xff0c;协作机器人的先驱Rethink Robotics刚刚宣布出售第2500个机器人产品&#xff0c;而昨天&#xff0c;就又宣布关门大吉了。CEO Scott Eckert在接受外媒The Robot Report采访…

YOLOv8改进 | 2023注意力篇 | MSDA多尺度空洞注意力(附多位置添加教程)

一、本文介绍 本文给大家带来的改进机制是MSDA&#xff08;多尺度空洞注意力&#xff09;发表于今年的中科院一区(算是国内计算机领域的最高期刊了)&#xff0c;其全称是"DilateFormer: Multi-Scale Dilated Transformer for Visual Recognition"。MSDA的主要思想是…

贝索斯专访:亚马逊帝国大规模业务转型的秘诀

来源&#xff1a;机器之能摘要&#xff1a;这篇文章简明、清晰地揭示出这家似乎没有边界、无拘束公司成功「转身」背后的逻辑与秘诀。与美国的其它科技业巨头不同&#xff0c;亚马逊并没有一个总的企业园区。在其全球的 57.5 万名雇员中&#xff0c;有 4.5 万名员工和管理人员位…

2018及过去20年诺贝尔化学奖获奖者及其贡献!

来源&#xff1a;科学网摘要&#xff1a;2018及过去20年诺贝尔化学奖获奖者及其贡献&#xff01;2018年诺贝尔化学获的获得者为美国科学家Frances H. Arnold, George P. Smith和英国科学家George P.Winter&#xff0c;他们利用进化的力量为人类造福。获奖的内容分别是研究酶的定…

RxJava学习入门

RxJava是什么 一个词&#xff1a;异步。 RxJava 在 GitHub 主页上的自我介绍是 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”&#xff08;一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序…