第三方 QQ分享的使用

6.  分享

分享分为两种样式,使用默认分享面板选择页面和自定义分享样式

6.1  默认shareboard:

final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[]
                        {
                            SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE,SHARE_MEDIA.SINA,
                            SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE,SHARE_MEDIA.DOUBAN
                        };
                new ShareAction(this).setDisplayList( displaylist )
                        .withText( "呵呵" )
                        .withTitle("title")
                        .withTargetUrl("http://www.baidu.com")
                        .withMedia( image )
                        .setListenerList(umShareListener)
                        .open();
  • title参数对新浪、人人、豆瓣不生效

6.2  开启回流统计的方法:

针对5.0.4版本之后,支持微信/朋友圈、新浪、QQ/Qzone、豆瓣、人人平台的回流率统计

Config.isloadUrl = true

6.3  自定义分享样式

对于需要自己定义分享UI样式的开发者,可以自行绘制分享模块的整个UI,在对应的分享按钮中实现下面的方法

new ShareAction(this)
.setPlatform(SHARE_MEDIA.SINA)
.setCallback(umShareListener)
.withText("hello umeng video")
.withTargetUrl("http://www.baidu.com")
.withMedia(image)
.share();

选取分享的平台,设定分享回调接口和内容,并执行share方法。 回调接口如下:

new UMShareListener() {
        @Override
        publicvoidonResult(SHARE_MEDIA platform) {
            Toast.makeText(ShareActivity.this,platform + " 分享成功啦", Toast.LENGTH_SHORT).show();
        }

        @Override
        publicvoidonError(SHARE_MEDIA platform, Throwable t) {
            Toast.makeText(ShareActivity.this,platform + " 分享失败啦", Toast.LENGTH_SHORT).show();
        }

        @Override
        publicvoidonCancel(SHARE_MEDIA platform) {
            Toast.makeText(ShareActivity.this,platform + " 分享取消了", Toast.LENGTH_SHORT).show();
        }
    };

值得注意的是,分享也应该重写

onActivityResult()
        @Override
    protectedvoidonActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        UMShareAPI.get( this ).onActivityResult( requestCode, resultCode, data);
    }

6.4  设置分享内容

目前支持文本、图片(本地及URL)、音频及视频URL的分享

图片(url)

UMImage image = new UMImage(ShareActivity.this, "http://www.umeng.com/images/pic/social/integrated_3.png");

图片(本地资源引用)

UMImage image = new UMImage(ShareActivity.this,
                BitmapFactory.decodeResource(getResources(), R.drawable.image));

图片(本地绝对路径)

UMImage image = new UMImage(ShareActivity.this, 
                            BitmapFactory.decodeFile("/mnt/sdcard/icon.png")));

URL音频及图片

UMusic music = new UMusic("http://music.huoxing.com/upload/20130330/1364651263157_1085.mp3");
music.setTitle("sdasdasd");
music.setThumb(new UMImage(ShareActivity.this,"http://www.umeng.com/images/pic/social/chart_1.png"));

url视频

UMVideo video = new UMVideo("http://video.sina.com.cn/p/sports/cba/v/2013-10-22/144463050817.html");
MainActivity 主要代码
//分享
private void share(){

UMShareListener umShareListener=new UMShareListener() {
@Override
public void onResult(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this,platform + " 分享成功啦", Toast.LENGTH_SHORT).show();
}

@Override
public void onError(SHARE_MEDIA platform, Throwable t) {
Toast.makeText(MainActivity.this,platform + " 分享失败啦", Toast.LENGTH_SHORT).show();
}

@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this,platform + " 分享取消了", Toast.LENGTH_SHORT).show();
}
};
final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[]
{
SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE
};
//默认分享
// new ShareAction(this).setDisplayList( displaylist )
// .withText( "电一等你" )
// .withTitle("泰者、师太矣")
// .withTargetUrl("http://lol.qq.com/")
.withMedia(image)
// .setListenerList(umShareListener)
// .open();

//自定义分享
UMImage image = new UMImage(MainActivity.this,
BitmapFactory.decodeResource(getResources(), R.mipmap.photo10));
new ShareAction(this)
.setPlatform(SHARE_MEDIA.QQ)//QQ空间分享改为QZONE
.setCallback(umShareListener)
.withTitle("奥欧尼亚")
.withText("泰者,来乎!")
.withTargetUrl("http://www.baidu.com")
.withMedia(image)
.share();
}



@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get( this ).onActivityResult( requestCode, resultCode, data);
}
**
****注意将Android manifest xml里的 腾讯平台APPID替换为自己申请的APPID,注意tencent前缀不要修改,否则会在分享后提示40000或分享取消
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值