一键/自定义 分享

一键分享

<这里只贴出了新浪微博,微信,朋友圈的分享功能代码片段>

/**
 * 一键分享
 */
    protected void showOnekeyShare() {
        ShareSDK.initSDK(this);
        OnekeyShare oks = new OnekeyShare();
       // 关闭sso授权
        oks.disableSSOWhenAuthorize();
        // 分享时Notification的图标和文字  2.5.9以后的版本不调用此方法
        //oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
        // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
        oks.setTitle("分享的Title");
        oks.setImageUrl("url");//网络图片rul
        // titleUrl是标题的网络链接,仅在人人网和QQ空间使用
        oks.setTitleUrl("titleUrl");
        // text是分享文本,所有平台都需要这个字段
        oks.setText("分享文本");
        // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
//         oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
        // url仅在微信(包括好友和朋友圈)中使用
        oks.setUrl("url");
        // comment是我对这条分享的评论,仅在人人网和QQ空间使用
        oks.setComment("comment");
        // site是分享此内容的网站名称,仅在QQ空间使用
        oks.setSite(getString(R.string.app_name));
        // siteUrl是分享此内容的网站地址,仅在QQ空间使用
        oks.setSiteUrl("siteUrl");
        // 启动分享GUI
        oks.setDialogMode();
        oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {
            @Override
            public void onShare(Platform platform, Platform.ShareParams paramsToShare) {
                if (SinaWeibo.NAME.equals(platform.getName())) {
                    platform.SSOSetting(false);
//                    if(!platform.isValid()){
//                        platform.authorize();}
              paramsToShare.setTitle("微博分享title");
              paramsToShare.setText("微博分享text" + " " +"url");
                    paramsToShare.setUrl(null);
                    paramsToShare.setImageUrl("网络图片地址");
                }
//                platform.share(paramsToShare);
            }
        });

        oks.show(this);
    }

自定义分享

/**
     * 自定义分享
     */
    protected void showMySharedialog() {
        View localView = LayoutInflater.from(context).inflate(
                R.layout.dialog_share, null);
        AutoUtils.auto(localView.getRootView());
        ImageView img_weibo = (ImageView) localView.findViewById(R.id.img_weibo);
        ImageView img_weixin = (ImageView) localView.findViewById(R.id.img_weixin);
        ImageView img_pengyouquan = (ImageView) localView.findViewById(R.id.img_pengyouquan);
        TextView tv_cancel = (TextView) localView.findViewById(R.id.tv_cancel);
        final Dialog dialog = new Dialog(context, R.style.custom_dialog);
        dialog.setContentView(localView);
        dialog.getWindow().setGravity(Gravity.BOTTOM);
        // 设置全屏
        WindowManager windowManager = ((Activity) context).getWindowManager();
        Display display = windowManager.getDefaultDisplay();
        WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
        lp.width = display.getWidth(); // 设置宽度
        dialog.getWindow().setAttributes(lp);
        dialog.show();
        tv_cancel.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                dialog.dismiss();
            }
        });
        img_weibo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
                ShareSDK.initSDK(context);
                Platform platform_sina = ShareSDK.getPlatform(SinaWeibo.NAME);
                System.out.println("platform_sina.isValid()----" + platform_sina.isValid());
                if (!isAppInstalled(context, "com.sine.weibo")) {// 如果有新浪微博客户端,每次都可以重新选择或添加分享账号
                    platform_sina.removeAccount();
                }
                platform_sina.SSOSetting(true);
                cn.sharesdk.sina.weibo.SinaWeibo.ShareParams sp = new cn.sharesdk.sina.weibo.SinaWeibo.ShareParams();

                sp.setShareType(Platform.SHARE_TEXT);
                sp.setTitle("测试分享文本测试分享文本测试分享文本");
                sp.setText("测试分享文本测试分享文本测试分享文本");
//                sp.setUrl(share_url);
//                sp.setImageUrl(share_image);
                sp.setImagePath(null);
                platform_sina.setPlatformActionListener(BaseShareActivity.this); // 设置分享事件回调
                // 执行图文分享
                platform_sina.share(sp);

            }
        });
        img_weixin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
                if (!isAppInstalled(context, "com.tencent.mm")) {
                    showToast("用户未安装微信");
                    return;
                }
                //2、设置分享内容
                Wechat.ShareParams sp = new Wechat.ShareParams();
                sp.setShareType(Platform.SHARE_WEBPAGE);//非常重要:一定要设置分享属性
                sp.setTitle("我是分享标题");  //分享标题
                sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/");   //分享文本
                sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul
                sp.setUrl("http://sharesdk.cn");   //网友点进链接后,可以看到分享的详情

                //3、非常重要:获取平台对象
                Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
                wechat.setPlatformActionListener(BaseShareActivity.this); // 设置分享事件回调
                // 执行分享
                wechat.share(sp);

            }
        });
        img_pengyouquan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
                if (!isAppInstalled(context, "com.tencent.mm")) {
                    showToast("用户未安装微信");
                    return;
                }
                //2、设置分享内容
                WechatMoments.ShareParams sp = new WechatMoments.ShareParams();
                sp.setShareType(Platform.SHARE_WEBPAGE); //非常重要:一定要设置分享属性
                sp.setTitle("我是分享标题");  //分享标题
                sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/");   //分享文本
                sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul
                sp.setUrl("http://sharesdk.cn");   //网友点进链接后,可以看到分享的详情
                //3、非常重要:获取平台对象
                Platform wechatMoments = ShareSDK.getPlatform(WechatMoments.NAME);
                wechatMoments.setPlatformActionListener(BaseShareActivity.this); // 设置分享事件回调
                // 执行分享
                wechatMoments.share(sp);

            }
        });
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值