public void onClick(View v) { Platform plat = (Platform) v.getTag(); if (plat != null) { if (silent) { HashMap<Platform, HashMap<String, Object>> shareData = new HashMap<Platform, HashMap<String, Object>>(); shareData.put(plat, reqData); parent.share(shareData); return; } String name = plat.getName(); parent.setPlatform(name); // EditPage不支持微信平台、Google+、QQ分享、信息和邮件,总是执行直接分享 if ("Wechat".equals(name) || "WechatMoments".equals(name) || "ShortMessage".equals(name) || "Email".equals(name) || "GooglePlus".equals(name) || "QQ".equals(name)) { HashMap<Platform, HashMap<String, Object>> shareData = new HashMap<Platform, HashMap<String, Object>>(); shareData.put(plat, reqData); parent.share(shareData); return; } // 跳转SharePage分享 EditPage page = new EditPage(); page.setShareData(reqData); page.setParent(parent); page.show(parent.getContext(), null); parent.finish(); } }
private void showShare(boolean silent, String platform, boolean captureView) { final OnekeyShare oks = new OnekeyShare(); // 分享时Notification的图标和文字 oks.setNotification(R.drawable.ic_launcher, "VGroup"); // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用 oks.setTitle("VGroup"); // titleUrl是标题的网络链接,仅在人人网和QQ空间使用 oks.setTitleUrl(FinalUrl.PLAYVIDEO_URL + filenameString); // text是分享文本,所有平台都需要这个字段 oks.setText("我用VGroup分享了视频." + FinalUrl.PLAYVIDEO_URL + filenameString); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 // oks.setImagePath("123"); // oks.setImageUrl(FinalUrl.VIDEOIMAGE_URL+imagenameString); // url仅在微信(包括好友和朋友圈)中使用 oks.setUrl(FinalUrl.PLAYVIDEO_URL + filenameString); // comment是我对这条分享的评论,仅在人人网和QQ空间使用 oks.setComment("我用VGroup分享了视频."); // site是分享此内容的网站名称,仅在QQ空间使用 oks.setSite("VGroup"); // siteUrl是分享此内容的网站地址,仅在QQ空间使用 oks.setSiteUrl("http://www.baidu.com"); oks.setLatitude(23.056081f); oks.setLongitude(113.385708f); oks.setSilent(silent); if (platform != null) { oks.setPlatform(platform); } oks.setDialogMode(); // 取消自动授权 oks.disableSSOWhenAuthorize(); // 隐藏客户端 oks.setShareContentCustomizeCallback(new ShareContentCustomizeDemo()); oks.show(SubmitActivity.this); }
/** * 调用分享页面,即弹出分享平台选择对话框 * * @author Felix */ public void share() { oks = new OnekeyShare(); oks.setShareContentCustomizeCallback( new ShareContentCustomizeCallback() { @Override public void onShare(Platform platform, ShareParams paramsToShare) { if (link != null && (platform.getName().equals("SinaWeibo") || platform.getName().equals("TencentWeibo"))) paramsToShare.text += " " + link; } }); oks.setNotification(icon, "正在分享..."); oks.setSilent(!canEdit); oks.setImagePath(imagePath); oks.setText(text); oks.setTitle(title); oks.setUrl(link); // 微信两个平台用 oks.setTitleUrl(link); // QQ空间专属参数,标题链接地址 oks.setSite(sizeName); // QQ空间专属参数,来自xxx的“xxx” oks.setSiteUrl(sizeUrl); // QQ空间专属参数,“来自xxx”的点击跳转地址 // oks.setAppName(appName);//QQ分享的专属参数 if (platForm != null) { oks.setPlatform(platForm); } oks.show(context); }
@JavascriptInterface public void share(String platform) { String url = BYBlog.HOMEURL + "?p=" + postid; ShareSDK.initSDK(getActivity()); OnekeyShare oks = new OnekeyShare(); oks.disableSSOWhenAuthorize(); oks.setTitle(SinglePostActivity.shareTitle); // titleUrl是标题的网络链接,仅在人人网和QQ空间使用 oks.setTitleUrl(url); // text是分享文本,所有平台都需要这个字段 oks.setText(SinglePostActivity.shareContent); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 oks.setImagePath( Environment.getExternalStorageDirectory() + "/BYBlog/test.jpg"); // 确保SDcard下面存在此张图片 // url仅在微信(包括好友和朋友圈)中使用 oks.setUrl(url); // comment是我对这条分享的评论,仅在人人网和QQ空间使用 oks.setComment("我想说两句!"); // site是分享此内容的网站名称,仅在QQ空间使用 oks.setSite(getString(R.string.app_name)); // siteUrl是分享此内容的网站地址,仅在QQ空间使用 oks.setSiteUrl(url); switch (platform) { case "weibo": oks.setPlatform(SinaWeibo.NAME); break; case "qq": oks.setPlatform(QQ.NAME); break; case "weixin": oks.setPlatform(Wechat.NAME); break; case "pyq": oks.setPlatform(WechatMoments.NAME); break; } // 启动分享GUI oks.show(getActivity()); }