android分享 ------ 友盟分享(续)
来源:互联网 发布:ac尼尔森 网购数据 编辑:程序博客网 时间:2024/05/12 17:56
根据上一篇博客上所讲的友盟组件的分享,自己实现了一个通用类:
首先,布局文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:orientation="vertical" > <RadioGroup android:id="@+id/fragment_twice_left" android:layout_height="wrap_content" android:paddingTop="@dimen/DIMEN_40PX_DP" android:paddingBottom="@dimen/DIMEN_40PX_DP" android:layout_width="match_parent" android:orientation="horizontal"> <RadioButton android:id="@+id/sharerb0" style="@style/share_style" android:text="微信" android:layout_marginLeft="@dimen/DIMEN_80PX_DP" android:drawableTop="@drawable/wx" android:checked="true"/> <RadioButton android:id="@+id/sharerb1" style="@style/share_style" android:drawableTop="@drawable/wxfri" android:layout_marginLeft="@dimen/DIMEN_60PX_DP" android:text="朋友圈"/> <RadioButton android:id="@+id/sharerb2" style="@style/share_style" android:drawableTop="@drawable/sina" android:layout_marginLeft="@dimen/DIMEN_60PX_DP" android:text="新浪"/> </RadioGroup></LinearLayout>
下面是分享类,注释都很清楚:
public class ShareUtil {private static UMSocialService mController;private static AlertDialog myDialog;/** * performShare(SHARE_MEDIA.WEIXIN);微信 * performShare(SHARE_MEDIA.WEIXIN_CIRCLE);微信朋友圈 * performShare(SHARE_MEDIA.SINA);微博 * @param context * @param mShareTitle 分享标题 * @param mShareContent 分享内容 * @param umImage 分享图片 * @param url 分享链接 * String mShareTitle = "XXXXAPP"; * String url = "XXXXAPP"; * String mShareContent = "我是分享内容"; * UMImage umImage = new UMImage(context, R.drawable.ic_launcher); */public static void alertDialog(final Context context,String mShareTitle,String mShareContent,UMImage umImage,String url) {initShare(context, mShareTitle, mShareContent, umImage,url);myDialog = new AlertDialog.Builder(context).create();myDialog.show();myDialog.setCanceledOnTouchOutside(true);myDialog.getWindow().setContentView(R.layout.activity_share_pop);WindowManager.LayoutParams layoutParams = myDialog.getWindow().getAttributes();layoutParams.width = LayoutParams.MATCH_PARENT;layoutParams.height = LayoutParams.WRAP_CONTENT;myDialog.getWindow().setAttributes(layoutParams);myDialog.getWindow().setGravity(Gravity.BOTTOM);myDialog.getWindow().setWindowAnimations(R.style.AnimationFade);// 微信myDialog.getWindow().findViewById(R.id.sharerb0).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {myDialog.dismiss();performShare(context,SHARE_MEDIA.WEIXIN);}});// 朋友圈myDialog.getWindow().findViewById(R.id.sharerb1).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {myDialog.dismiss();performShare(context,SHARE_MEDIA.WEIXIN_CIRCLE);}});// 新浪myDialog.getWindow().findViewById(R.id.sharerb2).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {myDialog.dismiss();performShare(context,SHARE_MEDIA.SINA);}});}/** * 初始化分享 * @param context * @param mShareTitle * @param mShareContent * @param umImage */private static void initShare(Context context,String mShareTitle,String mShareContent,UMImage umImage,String url){mController = UMServiceFactory.getUMSocialService("com.umeng.share"); // 设置分享内容mController.setShareContent(mShareContent);//设置应用地址mController.setAppWebSite(url);// 设置分享图片,参数2为本地图片的资源引用mController.setShareMedia(umImage);SocializeConfig socializeConfig = mController.getConfig();socializeConfig.closeToast(); //修改这里的id和secretString appId = "xxxxxxxxxxxxxxxx";String appSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxx";// 添加微信平台UMWXHandler wxHandler = new UMWXHandler(context,appId,appSecret);wxHandler.addToSocialSDK();// 添加微信朋友圈UMWXHandler wxCircleHandler = new UMWXHandler(context,appId,appSecret);wxCircleHandler.setToCircle(true);wxCircleHandler.addToSocialSDK();// 设置微信好友分享内容 WeiXinShareContent weixinContent = new WeiXinShareContent(); // 设置分享文字 weixinContent.setShareContent(mShareContent); // 设置title weixinContent.setTitle(mShareTitle); // 设置分享内容跳转URL weixinContent.setTargetUrl(url); // 设置分享图片 weixinContent.setShareImage(umImage); mController.setShareMedia(weixinContent); // 设置微信朋友圈分享内容 CircleShareContent circleMedia = new CircleShareContent(); circleMedia.setShareContent(mShareContent); // 设置朋友圈title //客户的需求分享到朋友圈的时候标题用内容 circleMedia.setTitle(mShareContent); circleMedia.setShareImage(umImage); circleMedia.setTargetUrl(url); mController.setShareMedia(circleMedia); // 新浪微博 SinaShareContent sinaContent = new SinaShareContent(); sinaContent.setShareContent(mShareContent + "[url="+url+"]"+url+"[/url]"); sinaContent.setTitle(mShareTitle); sinaContent.setTargetUrl(url); sinaContent.setShareImage(umImage); mController.setShareMedia(sinaContent); } /** * 分享 * performShare(SHARE_MEDIA.WEIXIN);微信 * performShare(SHARE_MEDIA.WEIXIN_CIRCLE);微信朋友圈 * performShare(SHARE_MEDIA.SINA);微博 * @param context * @param platform */ private static void performShare(final Context context,SHARE_MEDIA platform) { mController.postShare(context, platform, new SnsPostListener() { @Override public void onStart() { } @Override public void onComplete(SHARE_MEDIA platform, int eCode, SocializeEntity entity) { String showText = "";//platform.toString(); if (eCode == StatusCode.ST_CODE_SUCCESSED) { showText += "分享成功"; } else { showText += "分享失败"; } Toast.makeText(context, showText,Toast.LENGTH_LONG).show(); } }); }}
最后,调用
String mShareTitle = "XXXXAPP"; String url ="http://XXXXXXXXX" ;String mShareContent = "分享内容"; UMImage umImage = new UMImage(context, R.drawable.ic_launcher); ShareUtil.alertDialog(context, mShareTitle, mShareContent, umImage, url);
0 0
- android分享 ------ 友盟分享(续)
- android 友盟分享
- 【Android】友盟社会化分享
- 【Android】友盟社会化分享
- android 友盟分享一直返回分享取消
- android 友盟分享一直返回分享取消
- Android-友盟社会化分享库&自定义分享
- 友盟分享之GIF图片分享(1)
- Android 友盟社会化组件-分享实现
- cocos2dx Android植入友盟分享功能
- Android 友盟社会化组件-分享实现
- Android集成友盟社会化分享功能
- Android 友盟社会化组件-分享实现
- Android集成友盟社会化分享
- Android 友盟社会化组件-分享实现
- Android 友盟更新、推送、分享
- Android:友盟分享 AS开发配置
- android 分享------使用友盟社会化组件
- 主成分分析PCA工作原理和简单介绍
- 设计模式之访问者模式
- vxlan和IPsec结合使用
- iOS字体包导入过程
- select、poll、epoll之间的区别总结
- android分享 ------ 友盟分享(续)
- 【mybatis源码分析】原理分析之四:一次SQL查询的源码分析
- hrbust/哈理工oj 1617 回家【BFS+BFS】
- GNU __attribute__ 机制
- 插入排序C++实现
- Clustering
- iOS new和alloc init的区别
- 相关编译到Android细节总结 编译加入curl关联lib与头文件 && 解决pthread的cancel函数NDK不支持,找不到sockaddr_i
- 请各位分析下tomcat宕机的原因,附上日志,急!!!