Android开发丶使用MobShareSDK完成第三方分享

第三方分享已经是项目中司空见惯的东西了,可以将app的内容分享到国内的各大主流平台,比如QQ、微信、新浪微博等,站在开发者的角度,既有各大官方开放平台推出的自家分享SDK,也有友盟、MobShareSDK等三方平台提供的整合框架,后者是将各主流平台的分享SDK进行整合并深度封装后呈现给用户,略去了用户逐步下载、调试、整合的烦恼,凭借着简洁、易操作、稳定的特性,成为了更多开发者的首选。

这篇博文主要是围绕着MobShareSDK的使用来陈述。
效果图

步骤:

1.登录MobShareSDK官方网站,进行常规注册登录

2.进入AndroidSDK,点选常用的平台,下载,解压

3.点击quickIntegrater

4.点击确定后生成一个新文件夹Sample,点击进入

5.打开AndroidStudio,新建一个项目,将Sample文件夹中的资源文件拷贝到项目中,添加依赖

6.在各大开放平台申请应用key,微信和微博需要填写签名,下载个签名获取工具安装到手机,输入已安装应用的包名,生成签名填入即可。

7.打开assets目录下的ShareSDK.xml,填入相应平台的key值                                              

值得一提,这四个平台的ByPassApproval参数应该设置为false,意为不设置绕过审核,否则分享内容会有限制。

8.在MyApplication中初始化ShareSDK

9.在分享的入口启动showshare方法

/**
 * 启动分享功能
 */
private void showShare() {
    OnekeyShare oks = new OnekeyShare();
    //关闭sso授权
    oks.disableSSOWhenAuthorize();
    oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {
        @Override
        public void onShare(Platform platform, Platform.ShareParams paramsToShare) {
            loadingView.show();
            paramsToShare.setImageData(bitmap);
            //微信分享的字段设置
            if (platform.getName().equals(Wechat.NAME)|| platform.getName().equals(WechatMoments.NAME)){
                paramsToShare.setShareType(Platform.SHARE_IMAGE);
            }
        }

    });
    oks.setCallback(new PlatformActionListener() {
        @Override
        public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
            loadingView.dismiss();
            ToastUtils.showShort("分享成功");
        }

        @Override
        public void onError(Platform platform, int i, Throwable throwable) {
            loadingView.dismiss();
            ToastUtils.showShort("分享失败");
        }

        @Override
        public void onCancel(Platform platform, int i) {
            loadingView.dismiss();
            ToastUtils.showShort("分享取消");
        }
    });
    // 启动分享GUI
    oks.show(this);
}

这里如果分享本地图片,微信平台需要设置sharetype为SHARE_IMAGE

paramsToShare.setShareType(Platform.SHARE_IMAGE);

如果是网页,微信平台的sharetype设置为SHARE_WEBPAGE

paramsToShare.setShareType(Platform.SHARE_WEBPAGE);

新浪微博不支持设置url,需要把链接拼接在text后面,分享成功后会自动识别并设置可点击的网页

//新浪微博分享的字段设置

if (platform.getName().equals(SinaWeibo.NAME)) {

       paramsToShare.setText(“这是标题” + "http://xxxxxxxxxxxxxxxxxxx);

}

至此全部完成!

猜你喜欢

转载自blog.csdn.net/u014078990/article/details/82383100