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常见问题及公共返回码说明。