• 登录腾讯开放平台注册开发者账号并登录;
  • 登陆后,点击右上角用户头像展开菜单,选择管理中心
    管理中心.png

  • 进入管理中心后,在安卓应用界面点击创建应用按钮,填写对应的应用信息提交审核后完成应用的创建。

注:在新建应用时,记录APP IDAPP KEY,在以后的开发过程中会用到。同时,在管理中心界面可以查看到对应应用的详细信息。


2.开发环境配置

  • SDK下载登录资料库进行SDK的下载。
  • 资源引用新建工程包名必须与平台创建应用包名一致,将open_sdk_xxx.jar手动导入到项目libs目录下,添加jar包后,右键选择Add As Library添加该jar包到项目的Library,如下图所示:
    导入资源jar包.png

    添加到Library.png

  • AndroidManifest.xml配置
    • manifest标签内添加如下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  • application标签内添加如下内容:
<!-- ############ QQ空间和QQ SSO授权的Activity注册 ############ -->
<activityandroid:name="com.tencent.tauth.AuthActivity"android:noHistory="true"android:launchMode="singleTask" ><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="tencent你的AppId" /></intent-filter>
</activity>
<activityandroid:name="com.tencent.connect.common.AssistActivity"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar" />

注意:一定记得在<data android:scheme="tencent你的AppId" />添加上应用的AppId(如:对应应用的AppId为123456,则应填写tencent123456)。


3.内容分享

3.1 新建Tencent实例

private Tencent mTencent;// 新建Tencent实例用于调用分享方法
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mTencent = Tencent.createInstance("your APP ID",getApplicationContext());
}

注:在新建Tencent实例时,一定要注意填写应用的APPID,如:APPID为123456,使用Tencent.createInstance("123456",getApplicationContext()); 即可创建Tencent实例。

  • 分享回调接口的实现
    自定义分享回调接口:
class MyIUiListener implements IUiListener {@Overridepublic void onComplete(Object o) {// 操作成功 } @Overridepublic void onError(UiError uiError) { // 分享异常} @Overridepublic void onCancel() {// 取消分享}
}

重写Activity或者Fragment的onActivityResult方法,否则不能正常的监听分享状态,具体代码如下:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);Tencent.onActivityResultData(requestCode, resultCode, data, mIUiListener);if (requestCode == Constants.REQUEST_API) {if (resultCode == Constants.REQUEST_QQ_SHARE || resultCode == Constants.REQUEST_QZONE_SHARE || resultCode == Constants.REQUEST_OLD_SHARE) {Tencent.handleResultData(data, mIUiListener);}}
}

3.2 分享消息到QQ

  • 默认分享-图文并存
private Bundle params;
private void shareToQQ() {params = new Bundle();params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE,QQShare.SHARE_TO_QQ_TYPE_DEFAULT);params.putString(QQShare.SHARE_TO_QQ_TITLE, "标题");// 标题params.putString(QQShare.SHARE_TO_QQ_SUMMARY, "要分享的摘要");// 摘要params.putString(QQShare.SHARE_TO_QQ_TARGET_URL,"http://www.qq.com/news/1.html");// 内容地址params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL,"http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif");// 网络图片地址  params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "应用名称");// 应用名称params.putString(QQShare.SHARE_TO_QQ_EXT_INT, "其它附加功能");// 分享操作要在主线程中完成ThreadManager.getMainHandler().post(new Runnable() {@Overridepublic void run() {mTencent.shareToQQ(mActivity, params, mIUiListener);}});
}
  • 分享纯图片到QQ
    /*** 分享纯图片到QQ** @param imgUrl 图片url*/private void shareImgToQQ(String imgUrl) {params = new Bundle();params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);// 设置分享类型为纯图片分享params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, imgUrl);// 需要分享的本地图片URL// 分享操作要在主线程中完成ThreadManager.getMainHandler().post(new Runnable() {@Overridepublic void run() {mTencent.shareToQQ(mActivity, params, mIUiListener);}});}

注:默认为图片分享,需要进行音乐、应用、纯图片分享的,请参照SDK内的说明文档进行代码的编写,注:有些参数在文档上显示的比较坑(你懂得),一定要仔细辨认!一定要仔细辨认!一定要仔细辨认!
具体详情请参阅接口调用说明1.11 分享消息到 QQ(无需 QQ 登录)(2)分享纯图片

3.3 分享到QQ空间

  • 默认分享-图文并存
private Bundle params;
private void shareToQZone() {params = new Bundle(); params.putInt(QzoneShare.SHARE_TO_QZONE_KEY_TYPE,QzoneShare.SHARE_TO_QZONE_TYPE_IMAGE_TEXT);params.putString(QzoneShare.SHARE_TO_QQ_TITLE, "标题");// 标题params.putString(QzoneShare.SHARE_TO_QQ_SUMMARY, "要分享的摘要");// 摘要params.putString(QzoneShare.SHARE_TO_QQ_TARGET_URL,"http://www.qq.com/news/1.html");// 内容地址ArrayList<String> imgUrlList = new ArrayList<>();imgUrlList.add("http://f.hiphotos.baidu.com/image/h%3D200/sign=6f05c5f929738bd4db21b531918a876c/6a600c338744ebf8affdde1bdef9d72a6059a702.jpg");params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL,imgUrlList);// 图片地址// 分享操作要在主线程中完成ThreadManager.getMainHandler().post(new Runnable() { @Overridepublic void run() {// TODO Auto-generated method stubmTencent.shareToQzone(mActivity, params,mIUiListener);}});
}
  • 上传图片到QQ空间
    /*** 发表到QQ空间** @param imgUrlList 图片地址集合--上传的只能是本地图片!*/private void publishToQzone(ArrayList<String> imgUrlList) {// 分享类型params = new Bundle();params.putInt(QzonePublish.PUBLISH_TO_QZONE_KEY_TYPE, QzonePublish.PUBLISH_TO_QZONE_TYPE_PUBLISHMOOD);params.putString(QzonePublish.PUBLISH_TO_QZONE_SUMMARY, "说说正文");params.putStringArrayList(QzonePublish.PUBLISH_TO_QZONE_IMAGE_URL,imgUrlList);// 图片地址ArrayList// 分享操作要在主线程中完成ThreadManager.getMainHandler().post(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubmTencent.publishToQzone(mActivity, params, mIUiListener);}});}

注:除了默认的分享图文外,还支持发表说说、视频或上传照片这三种模式,同上,需要参阅SDK开发指南文档,同理,请注意规避文档上的坑。
上传图片到QQ空间时,图片只能是本地照片!
具体详情请参阅接口调用说明1.12 分享到 QQ 空间(无需 QQ 登录)(2)发表说说、视频或上传图片,看参数意义就行了,文档代码。。。就是坑。。


4.注意事项

  • APP ID

一定要替换成自己申请的appid——运行前检查AndroidManifest.xml中与ActivityTencent.createInstance内使用的appid是否正常。
注意在AndroidMaifest.xml中,需要填写tencent您的appid,appid前多了个tencent!

  • 应用权限的添加
  • Q空间和QQ SSO授权的Activity注册

作者:紫豪链接:https://www.jianshu.com/p/4e2184649545來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

android QQ分享、QQ空间分享相关推荐

  1. Android开发QQ登陆、分享、空间分享及回调处理 不回调问题的处理

    首先是看  qq互联里面的文档  按文档操作:qqsdk移动应用接入流程  按照这个流程一步一步来就是了.基本上没的错误的.但还是有些很坑的地方.这里列举一些. 接下来 一.首先是qq登陆. 下载sd ...

  2. AndroidStudio实现第三方QQ分享,空间分享

    分享在每个App应用中是很常见的,今天就来实现一下接入QQ提供的第三方分享. 1.使用QQ分享时记得先到我们的腾讯开放平台注册账号然后获取开发者资格地址:http://open.qq.com/ 创建应 ...

  3. qq分享和空间分享弹出对话框或Popu…

    1.弹出对话框 iv_fx.setOnClickListener(new View.OnClickListener() {             @Override             publ ...

  4. 友盟QQ好友或者空间分享成功,但回调失败或取消

    2019独角兽企业重金招聘Python工程师标准>>> 出现这种情况的原因是代码中配置的QQ的AppID和Manifest中配置的不一致,如图,后面这串数字就是在腾讯开放平台申请的A ...

  5. Android分享功能,微博、QQ、QQ空间等社交平台分享之入门与进阶

    前言 如何能迅速做一个分享功能,那主要就是根据第一个步骤来做就好了,因为友盟的sdk包已经集成很多的内容了,只要你有相应的app和平台账号就可以能马上分享.进阶的内容就是从第三部分开始,这些内容不难, ...

  6. android qq图片分享到朋友圈,Android 调用系统分享文字、图片、文件,可直达微信、朋友圈、QQ、QQ空间、微博...

    转载自:https://www.liangzl.com/get-article-detail-18749.html 兼容SDK 18以上的系统,直接调用系统分享功能,分享文本.图片.文件到第三方APP ...

  7. Android中集成QQ登陆和QQ空间分享

    本文基于QQ open sdk V2.4.1. QQ登录应用有一个地方是需要注意的, QQ申请同一品牌应用(包括网站和app),需要相互依赖申请,因为在QQ互联中,一个应用对应一个app key,如果 ...

  8. Android 分享到qq和qq空间中的网页

    将应用的网页,图片,问题分享到qq好友和请求空间中,是很常见的开发需求,首先是分享到qq中 一.到腾讯公共平台注册相关应用的信息,拿到应用的app_id等相关信息 二.下载官网中的相关的demo,导入 ...

  9. Android工具类— 分享到QQ(QQ空间)、微信(朋友圈)

    1.分享到QQ.QQ空间: 首先第一步,在腾讯开发者平台注册,添加应用,获得APPID,然后下载SDK,导入到工程中:然后,在AndroidManifest中注册两个Activity,代码如下: &l ...

  10. qq接入和分享android,Android社交登录授权、分享SDK,支持微信、微博和QQ

    社交登录授权,分享SDK 支持微信.微博.QQ登录授权 微信好友.微信朋友圈.微博.QQ好友.QQ空间分享 Gradlecompile 'com.elbbbird.android:socialsdk: ...

最新文章

  1. SQL Server 储存过程的output 参数
  2. cron计划任务使用
  3. Wcf 基础教程 服务寄宿之 Windows 服务寄宿
  4. apache 不解释php,apache-2.2 – Apache不解释.PHP文件
  5. java异常_Java线程池「异常处理」正确姿势:有病就得治
  6. windows变量延迟_Windows 10的2018年10月更新可能推迟到11月(这就是原因)
  7. 11、jeecg 笔记之 界面常用整理 - 方便复制粘贴
  8. python语言案例教程 单元测试_python单元测试unittest实例详解
  9. java中long的包装类_Java中基本数据的包装类
  10. Item-Based Collaborative Recommender System
  11. linux用户登录失败,锁定用户
  12. Windows中的磁盘分区、MBR、GPT
  13. html页面自动跳转
  14. php密送,向多个收件人发送电子邮件 – 抄送:和密送:在PHP中
  15. 多出多个虚拟显示器的解决方法
  16. CODEVS 1069 关押罪犯
  17. 2016最新精彩而又幽默的搞笑段子精选
  18. 新安装的MySQL,在installer界面start Server无法连接成功
  19. VB图片分割器九宫格
  20. 最新数据!国内5G手机出货已超29万部

热门文章

  1. 玩转Kaggle:Dog Breed Identification【识别狗的类别】
  2. EnlightenGAN: Deep Light Enhancement without Paired Supervision论文阅读笔记
  3. 【随机算法梗概】遗传算法通俗的讲解案例~~
  4. ios自己搭建服务器证书,iOS一步一步实现Https自建证书校验
  5. iOS https 自制证书 单向 双向 验证,以及服务器(Nginx)配置
  6. 用状态机做人物(AI)的状态切换以及动画效果——人物动画以及切换
  7. 无法访问gcr.io的解决办法
  8. 示例程序:关于双目视觉,标定,立体匹配(视差算法),点云,双目三维重建的原理以及代码
  9. 校园网服务器系统方案设计,校园网服务器系统项目设计方案.pdf
  10. Linux条件变量(pthread_cond)示例