分享到QQ空间(无需QQ登录)
A、接口使用场景
完善了分享到QZone功能,分享类型参数Tencent.SHARE_TO_QQ_KEY_TYPE,目前支持图文分享、发表说说、视频、上传图片。Tencent. shareToQzone()和Tencent. publishToQzone()函数可直接调用,不用用户授权(使用手机QQ当前的登录态),调用后将打开手机QQ内QQ空间的界面进行分享或发表操作。
B、接口方法
public void com.tencent.tauth.Tencent.shareToQzone(Activity activity, Bundle params, IUiListener listener)
public void com.tencent.tauth.Tencent.publishToQzone(Activity activity, Bundle params, IUiListener listener)
C、接口参数
调用邀请接口的参数说明如下:
参数 | 参数说明 |
activity | 调用者所在Activity |
params | KV参数对,具体取值见下表 |
listener | 回调 |
本接口支持2种模式,每种模式的params参数设置不同,下面分别进行介绍:
(模式1) 图文分享
接口参数
调用分享到QQ空间进行图文分享的params参数说明如下:
示例代码
调用分享到QQ空间进行图文分享的示例代码如下:
private void shareToQzone () { //分享类型 params.putString(QzoneShare.SHARE_TO_QQ_KEY_TYPE,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, "跳转URL");//必填 params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL, "图片链接ArrayList"); mTencent.shareToQzone(activity, params, new BaseUiListener()); } |
注意:
QZone接口暂不支持发送多张图片的能力,若传入多张图片,则会自动选入第一张图片作为预览图。多图的能力将会在以后支持。
(模式2) 发表说说、视频或上传图片
接口参数
调用分享到QQ空间进行发表说说、视频或上传图片的params参数说明如下:
示例代码
调用分享到QQ空间进行发表说说、视频或上传图片的示例代码如下:
private void publishToQzone () { //分享类型 params.putString(QzoneShare.SHARE_TO_QZONE_KEY_TYPE, PUBLISH_TO_QZONE_TYPE_PUBLISHMOOD ); params.putString(QzoneShare.SHARE_TO_QQ_SUMMARY, "摘要"); params.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL, "图片链接ArrayList"); params.putString(QzonePublish.PUBLISH_TO_QZONE_VIDEO_PATH,"本地视频地址"); Bundle extParams = new Bundle(); extParams.putString (QzonePublish. HULIAN_EXTRA_SCENE, "分享场景”); extParams.putString (QzonePublish. HULIAN_CALL_BACK, "回调信息”); params.putBundle(QzonePublish.PUBLISH_TO_QZONE_EXTMAP, extParams); mTencent.publishToQzone(activity, params, new BaseUiListener()); } |
(模式3)分享QQ小程序到QQ空间
可以从外部app分享到手Q空间为一个QQ小程序,并可以指定预览图、文案、小程序路径:
接口参数
调用分享接口分享QQ小程序的params参数说明如下:
参数 | 是否必传 | 类型 | 参数说明 |
QzoneShare.SHARE_TO_QZONE_KEY_TYPE | 必填 | Int | 分享的类型。分享小程序填QQShare.SHARE_TO_QQ_MINI_PROGRAM |
QQShare.SHARE_TO_QQ_TITLE | 可选 | String | 分享的标题, 最长30个字符。如果不填,默认使用小程序名称作为标题 |
QQShare.SHARE_TO_QQ_SUMMARY | 可选 | String | 分享的消息摘要,最长40个字符。若不填,默认使用小程序后台注册的描述作为摘要 |
QQShare.SHARE_TO_QQ_IMAGE_URL | 必填 | 分享预览封面图的url,或者是本地图的路径 | |
QQShare.SHARE_TO_QQ_MINI_PROGRAM_APPID | 必填 | String | 分享的小程序appid,小程序与当前应用必须为同一个主体 |
QQShare.SHARE_TO_QQ_MINI_PROGRAM_TYPE | 可选 | String | 3表示正式版,1表示体验版 |
QQShare.SHARE_TO_QQ_MINI_PROGRAM_PATH | 必填 | String | 分享的小程序页面路径,如不需要指定,请填主页路径 |
示例代码
调用分享接口的示例代码如下:
Bundle miniProgramBundle = new Bundle(); miniProgramBundle.putString(QQShare.SHARE_TO_QQ_TITLE, title.getText().toString()); miniProgramBundle.putString(QQShare.SHARE_TO_QQ_SUMMARY, summary.getText().toString()); miniProgramBundle.putString(QQShare.SHARE_TO_QQ_TARGET_URL, targetUrl.getText().toString()); miniProgramBundle.putStringArrayList(QQShare.SHARE_TO_QQ_IMAGE_URL, imgUrlArrayListObj); miniProgramBundle.putString(QQShare.SHARE_TO_QQ_MINI_PROGRAM_APPID, mETMiniProgramAppid.getText().toString()); miniProgramBundle.putString(QQShare.SHARE_TO_QQ_MINI_PROGRAM_PATH, mETMiniProgramPath.getText().toString()); miniProgramBundle.putString(QQShare.SHARE_TO_QQ_MINI_PROGRAM_TYPE, mETMiniProgramType.getText().toString()); miniProgramBundle.putInt(QzoneShare.SHARE_TO_QZONE_KEY_TYPE, QzoneShare.SHARE_TO_QZONE_TYPE_MINI_PROGRAM); mTencent.shareToQzone(QQShareActivity.this, miniProgramBundle, qqShareListener); |