分享到 :

com.tencent.tauth.Tencent.shareToQQ

1. 接口说明

分享消息到QQ的接口,可将新闻、图片、文字、音乐享给QQ好友、群和讨论组。
Tencent类的shareToQQ函数可直接调用,不用用户授权。调用将打开分享的界面,用户选择好友、群或讨论组之后,点击确定即可完成分享,并进入与该好友进行对话的窗口。
1.1接口方法
void com.tencent.tauth.Tencent.shareToQQ(Activity activity, Bundle params, IUiListener listener)
本接口支持3种模式,每种模式的参数设置不同。

2. 分享图文消息

分享图文消息:可以同时发送文字、图片和网络连接,适合分享新闻、应用推荐。

Bundle 参数 是否必传 类型 参数说明
Tencent.SHARE_TO_QQ_KEY_TYPE 必选 int 分享的类型。图文分享(普通分享)填
Tencent.SHARE_TO_QQ_TYPE_DEFAULT
Tencent.PARAM_TARGET_URL 必选 String 这条分享消息被好友点击后的跳转URL。
Tencent.PARAM_TITLE 必选 String 分享的标题, 最长30个字符。
Tencent.SHARE_TO_QQ_IMAGE_URL 可选 String 分享的图片URL。
Tencent.PARAM_SUMMARY 可选 String 分享的消息摘要,最长40个字符。
Tencent.SHARE_TO_QQ_APP_NAME 可选 String 手Q客户端顶部,替换“返回”按钮文字,如果为空,用返回代替
Tencent.SHARE_TO_QQ_EXT_INT 可选 int

分享额外选项,两种类型可选(默认是不隐藏分享到QZone按钮且不自动打开分享到QZone的对话框):

Tencent.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN,分享时自动打开分享到QZone的对话框。

Tencent.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE,分享时隐藏分享到QZone按钮

示例代码

//分享图文消息
private void onClickShare() {
    final Bundle params = new Bundle();
    params.putInt(Tencent.SHARE_TO_QQ_KEY_TYPE, Tencent.SHARE_TO_QQ_TYPE_DEFAULT);
    params.putString(Tencent.SHARE_TO_QQ_TITLE, "新闻的标题");
    params.putString(Tencent.SHARE_TO_QQ_SUMMARY,  "新闻的摘要");
    params.putString(Tencent.SHARE_TO_QQ_TARGET_URL,  "http://www.qq.com/news/1.html");
    params.putString(Tencent.SHARE_TO_QQ_IMAGE_URL, "http://imgcache.qq.com/qzone/space_item/pre/0/66768.gif");
    params.putString(Tencent.SHARE_TO_QQ_APP_NAME,  "测试应用");
    params.putInt(Tencent.SHARE_TO_QQ_EXT_INT, Tencent.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN);
    mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener());
}

3. 分享纯图片

分享纯图片:可以发送本地大图片,适合相机、图片美化。

Bundle 参数 是否必传 类型 参数说明
Tencent.SHARE_TO_QQ_KEY_TYPE 必选 int 分享的类型。分享纯图片时填写
Tencent.SHARE_TO_QQ_TYPE_IMAGE
Tencent.SHARE_TO_QQ_IMAGE_LOCAL_URL 必选 String 需要分享的本地图片路径
Tencent.SHARE_TO_QQ_APP_NAME 可选 String 手Q客户端顶部,替换“返回”按钮文字,如果为空,用返回代替
Tencent.SHARE_TO_QQ_EXT_INT 可选 int

分享额外选项,两种类型可选(默认是不隐藏分享到QZone按钮且不自动打开分享到QZone的对话框):

Tencent.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN,分享时自动打开分享到QZone的对话框。

Tencent.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE,分享时隐藏分享到QZone按钮

示例代码

//分享本地大图片
private void onClickShare() {
    Bundle params = new Bundle();
    params.putInt(Tencent.SHARE_TO_QQ_KEY_TYPE, Tencent.SHARE_TO_QQ_TYPE_IMAGE);
    params.putString(Tencent.SHARE_TO_QQ_IMAGE_LOCAL_URL, imageUrl.getText().toString());
    params.putString(Tencent.SHARE_TO_QQ_APP_NAME, appName.getText().toString());
    params.putInt(Tencent.SHARE_TO_QQ_EXT_INT, Tencent.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN);
    mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener());
}

4. 分享音乐

分享音乐:可以发送音乐链接,适合点歌、推荐音乐。

Bundle 参数 是否必传 类型 参数说明
Tencent.SHARE_TO_QQ_KEY_TYPE 必选 int 分享的类型。分享音乐填
Tencent.SHARE_TO_QQ_TYPE_AUDIO
Tencent.PARAM_TARGET_URL 必选 String 这条分享消息被好友点击后的跳转URL。
Tencent.PARAM_TITLE 必选 String 分享的标题。注:PARAM_TITLE、PARAM_IMAGE_URL、PARAM_SUMMARY不能全为空,最少必须有一个是有值的。
Tencent.SHARE_TO_QQ_AUDIO_URL 必选 String 音乐文件的远程链接, 以URL的形式传入, 不支持本地音乐。
Tencent.SHARE_TO_QQ_IMAGE_URL 可选 String 分享的图片URL。
Tencent.PARAM_SUMMARY 可选 String 分享的消息摘要,最长40个字。
Tencent.SHARE_TO_QQ_APP_NAME 可选 String 手Q客户端顶部,替换“返回”按钮文字,如果为空,用返回代替
Tencent.SHARE_TO_QQ_EXT_INT 可选 int

分享额外选项,两种类型可选(默认是不隐藏分享到QZone按钮且不自动打开分享到QZone的对话框):

Tencent.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN,分享时自动打开分享到QZone的对话框。

Tencent.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE,分享时隐藏分享到QZone按钮

示例代码

//分享音乐
private void onClickShare() {
    final Bundle params = new Bundle();
    params.putInt(Tencent.SHARE_TO_QQ_KEY_TYPE, Tencent.SHARE_TO_QQ_TYPE_DEFAULT);
    params.putString(Tencent.SHARE_TO_QQ_TITLE, "歌曲名:不要说话");
    params.putString(Tencent.SHARE_TO_QQ_SUMMARY,  "专辑名:不想放手歌,手名:陈奕迅");
    params.putString(Tencent.SHARE_TO_QQ_TARGET_URL,  "http://stream14.qqmusic.qq.com/30432451.mp3");
    params.putString(Tencent.SHARE_TO_QQ_IMAGE_URL, "http://imgcache.qq.com/music/photo/mid_album_300/V/E/000J1pJ50cDCVE.jpg");
    params.putString(Tencent.SHARE_TO_QQ_APP_NAME,  "测试应用");
    params.putInt(Tencent.SHARE_TO_QQ_EXT_INT, Tencent.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN);
    mTencent.shareToQQ(MainActivity.this, params, new BaseUiListener());
}

5. 返回码说明

0: 正确
其它: 失败
OpenAPI公共错误码说明详见:Android常见问题公共返回码说明

返回顶部