分享功能的实现//图片为本地图片//支付回调方法//隐藏不分享的图标
2017-03-30 19:22
656 查看
title,content,shareUrl有后台返回或者是通过其他途径获得,分享如下: public void openShare() { OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); oks.setTitle(title); oks.setImageUrl("地址url"); oks.setTitleUrl(shareUrl); // text是分享文本,所有平台都需要这个字段 oks.setText(content); oks.setUrl(shareUrl); //如果取本地的图片而不是在网上获取的话可以用下面的方法,可以设置在分享哪种的时候设置相应的图片 //Wechat.NAMR.equals(platform.getName()) oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() { @Override public void onShare(Platform platform, Platform.ShareParams paramsToShare) { if(WechatMoments.NAME.equals(platform.getName()) || Wechat.NAME.equals(platform.getName())){ paramsToShare.setTitle(title); paramsToShare.setText(content); paramsToShare.setImageUrl("..."); paramsToShare.setUrl(shareUrl+",title:"+title); paramsToShare.setShareType(Platform.SHARE_WEBPAGE); Resources res = getResources(); Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.icon_tag); paramsToShare.setImageData(bmp); }else if (SinaWeibo.NAME.equals(platform.getName())) { paramsToShare.setText(context + " " + shareUrl+",title:"+title); paramsToShare.setUrl(null); paramsToShare.setImageUrl("这里我新浪用的是url,上面的情况去的是本地的图片"); } } }); oks.setComment("我是测试评论文本"); // site是分享此内容的网站名称,仅在QQ空间使用 oks.setSite("..."); // siteUrl是分享此内容的网站地址,仅在QQ空间使用 oks.setSiteUrl(shareUrl+",title:"+title); //以下是分享成功后的回调,成功或者是失败 oks.setCallback(new PlatformActionListener() { @Override public void onError(Platform arg0, int arg1, Throwable t) { Message msg = new Message(); msg.obj = t; msg.arg1 = 2; UIHandler.sendMessage(msg, new Handler.Callback() { @Override public boolean handleMessage(Message message) { Toast.makeText(ShareActivity.this,"分享出错哦",Toast.LENGTH_SHORT).show(); return true; } }); } @Override public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) { Message msg = new Message(); msg.obj = arg2; msg.arg1 = 1; UIHandler.sendMessage(msg, new Handler.Callback() { @Override public boolean handleMessage(Message message) { Toast.makeText(ShareActivity.this,"分享成功",Toast.LENGTH_SHORT).show(); return true; } }); } @Override public void onCancel(Platform arg0, int arg1) { Message msg = new Message(); msg.arg1 = 3; UIHandler.sendMessage(msg, new Handler.Callback() { @Override public boolean handleMessage(Message message) { Toast.makeText(ShareActivity.this,"分享失败哦",Toast.LENGTH_SHORT).show(); return true; } }); } }); // 启动分享GUI oks.show(ShareActivity.this); } 如果只分享到朋友圈的话,隐藏其余的图标:
oks.addHiddenPlatform(QQ.NAME); oks.addHiddenPlatform(QZone.NAME); oks.addHiddenPlatform(SinaWeibo.NAME); oks.addHiddenPlatform(Wechat.NAME); oks.addHiddenPlatform(WechatFavorite.NAME);
相关文章推荐
- 分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
- 分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
- 不用sdk实现分享多张本地图片功能
- JavaScript实现本地图片上传预览功能(兼容IE、chrome、FF)
- 分享一段隐藏密码的实现方法
- android camer 图片回显界面照片分享到微博、人人、彩信、蓝牙的功能实现
- js实现图片放大缩小功能后进行复杂排序的方法
- IE7 添加图片时浏览本地图片功能实现
- Android实现新浪微博SSO授权登录分享文字图片等功能(WEIBO_ANDROID_SDK V2.3.0 )
- android异步加载图片并缓存到本地实现方法
- 使用QQ互联Android SDK 实现本地图片的QQ定向分享
- 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能
- Spring用回调HibernateCallBack方法实现持久层功能
- JavaScript实现本地图片上传预览功能(兼容IE、chrome、FF)
- PHP抓取远程图片保存到本地的实现方法
- Android 如何实现分享图片功能
- PHP中集成PayPal标准支付的实现方法分享
- 将rar文件隐藏在图片中的实现方法
- jquery实现兼容浏览器的图片上传本地预览功能