一键/自定义 分享

来源:互联网 发布:getimagesize php 编辑:程序博客网 时间:2024/06/06 16:35

一键分享

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

/** * 一键分享 */    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
原创粉丝点击