Android使用ShareSDK集成QQ、微信、微博等第三方分享
来源:互联网 发布:virtuixomni淘宝 编辑:程序博客网 时间:2024/05/26 02:20
转载请注明出处:http://blog.csdn.net/alpha58/article/details/62228116
前言
第三方分享几乎是每个APP的必须功能。有些人说看官方的文档实在让人眼花缭乱,以前自己第一次做这些功能的时候也会遇到很多坑。这里整理了一份比较详细的,主要给新手学习。有任何问题欢迎提出来!
1、获取ShareSDK的AppKey
(照着流程来,很简单!)
http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1
2、下载SDK
下载地址:http://www.mob.com/downloadDetail/ShareSDK/android
下载的时候一般用默认的就足够了
下载后解压出来是这样的
3、准备资源
点击第一个文件夹,进去如下,双击QuickIntegrater.jar
只需要填写项目名称和项目包名即可,其他默认。如图:
点击确认后会生成如下文件夹,如图:
4、开始集成
1,将上面的文件夹依次粘贴到工程相应的文件夹即可,如图:
2,在清单文件AndroidManifest.xml添加权限
<uses-permission android:name="android.permission.GET_TASKS" /> <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"/> <!-- 蓝牙分享所需的权限 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
3,在清单文件AndroidManifest.xml添加activity信息
(注意:tencent后面的appid要保持和您配置的QQ的appid一致)
<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="tencent100371282" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <!-- 调用新浪原生SDK,需要注册的回调activity --> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <!--集成line客户端登录授权,需要添如下格式的过滤器--> <intent-filter> <data android:scheme="line.1477692153" /> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
如果您集成了微信,还需要添加下面回调的activity处理;
<activity android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" />
4,在刚刚拷贝进去的ShareSDK中替换mob后台申请的Appkey与各个平台申请的key
注意:
mob后台申请的Appkey:就是第一部中获取ShareSDK的AppKey
各个平台申请的key:需要到各个平台申请,例如需要微信分享,则需要到微信开放平台进行申请
5,添加分享代码
在您程序启动的时候添加初始化代码(注:不要等调用ShareSDK功能之前才初始化)
即自己添加一个类继承Application,在onCreate方法添加下面的代码,如下:
package com.xinhao.thirdpartysharelogin;import android.app.Application;import cn.sharesdk.framework.ShareSDK;/** * author Alpha58 * date 2017/03/15 * desc ${Application} * <p> * upDateAuthor $Author$ * upDate $Date$ * upDateDesc ${TODO} */public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); //初始化ShareSDK ShareSDK.initSDK(this); }}
注意: 该类需要在清单文件中注册,如图:
在您的代码中调用此方法,即可打开一键分享功能进行分享
private void showShare() { OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); // title标题,印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用 oks.setTitle("标题"); // titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用 oks.setTitleUrl("http://sharesdk.cn"); // text是分享文本,所有平台都需要这个字段 oks.setText("我是分享文本"); //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博 oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg"); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片 // url仅在微信(包括好友和朋友圈)中使用 oks.setUrl("http://sharesdk.cn"); // comment是我对这条分享的评论,仅在人人网和QQ空间使用 oks.setComment("我是测试评论文本"); // site是分享此内容的网站名称,仅在QQ空间使用 oks.setSite("ShareSDK"); // siteUrl是分享此内容的网站地址,仅在QQ空间使用 oks.setSiteUrl("http://sharesdk.cn");// 启动分享GUI oks.show(this); }
效果如下:
Demo下载地址:https://github.com/Alpha58/ThirdPartyShare
如果对你有帮助记得点赞,star支持下哈~
- Android使用ShareSDK集成QQ、微信、微博等第三方分享
- Android使用ShareSDK集成QQ、微信、微博等第三方登录
- Android使用ShareSDK集成QQ、微信、微博等第三方登录
- Android使用友盟集成QQ、微信、微博等第三方分享
- Android使用友盟集成QQ、微信、微博等第三方登录
- Android使用友盟集成QQ、微信、微博等第三方登录
- 第三方 ShareSdk QQ、微信分享
- ShareSDK集成微信、QQ、微博分享
- android 使用sharesdk完成微信、QQ第三方登陆
- Android 微信,QQ,新浪三方登录及分享官方SDK集成
- shareSDK qq 微信分享
- 不接sdk分享到微信,微博等第三方
- Android之ShareSDK第三方分享(不用申请ID)只限微信朋友圈跟QQ
- 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
- 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
- Android使用官方API分享内容到QQ和微信(非第三方集成)
- android ShareSDK分享,QQ,微信,新浪等分享
- Android开发利用shareSDK等第三方分享,弹出的是英文名称。例如Genymotion模拟器
- 使用Chipscope时如何防止reg_wire型信号被优化掉
- 二叉树的遍历(篇4)判断从根到叶节点的和是否等于某个给定的值
- Android处理图片报OOM的问题解决
- Saprk数据倾斜七解决方案(一)
- SQL— 创建计算字段(以 PostgreSQL为例)
- Android使用ShareSDK集成QQ、微信、微博等第三方分享
- RecyclerView的行间距&&RecyclerView的Item间距&&
- 盒子模型关于box-sizing属性
- poj1703 Find them, Catch them 基础并查集问题
- 远程通讯____webservice_myeclise开发jax-rs架构的webservice
- 根据先序和中序遍历结果画出二叉树
- 在阿里云上部署生产级别Kubernetes集群
- 获取Servlet初始化参数
- Java入门笔记二——类和对象