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
原创粉丝点击