Android 微信、qq分享弹框

1、自定义dialog

package cn.zhongshop.xdz.Utils.ShareManage;

import android.app.Activity;
import android.app.Dialog;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;

import cn.zhongshop.xdz.Base.UtilsManage;
import com.zhongshop.xdz.R;
import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.media.UMImage;
import com.umeng.socialize.media.UMWeb;

/**
 * Created by Lxx on 2018/11/30.
 */

public class ShareDialog implements View.OnClickListener {
    private static final String TAG="ShareDialog";
    private static Activity activitys;
    private Dialog dialog;

    private UtilsManage utilsManage;

    public ShareDialog(Activity activity, UtilsManage manage, resultShareCallBack shareUtils) {
        activitys = activity;
        utilsManage = manage;
        resultShareCallBack = shareUtils;
    }

    private resultShareCallBack resultShareCallBack;

    public interface resultShareCallBack {
        void resultShare(String tv);
    }

    public void showdialog() {

        View localView = LayoutInflater.from(activitys).inflate(R.layout.layout_dialog_share, null);
        dialog = utilsManage.dialog(activitys, localView, Gravity.BOTTOM, false);

        localView.findViewById(R.id.share_qq).setOnClickListener(this);
        localView.findViewById(R.id.share_wx).setOnClickListener(this);
        localView.findViewById(R.id.share_pyq).setOnClickListener(this);
        localView.findViewById(R.id.share_wb).setOnClickListener(this);
        localView.findViewById(R.id.dialog_cencle).setOnClickListener(this);

    }
    private String urll,imgs,storename,goodsName;
    public void setUrl(String urll,String imgs,String storename,String goodsName){
        this.urll= urll;
        this.imgs= imgs;
        this.storename= storename;
        this.goodsName= goodsName;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.share_qq:
                dialog.dismiss();
                shareType(SHARE_MEDIA.QQ);
                break;
            case R.id.share_wx:
                dialog.dismiss();
                shareType(SHARE_MEDIA.WEIXIN);
                break;
            case R.id.share_pyq:
                dialog.dismiss();
                shareType(SHARE_MEDIA.WEIXIN_CIRCLE);
                break;
            case R.id.share_wb:
                dialog.dismiss();
                shareType(SHARE_MEDIA.SINA);
                break;
            case R.id.dialog_cencle:
                dialog.dismiss();
                break;
        }
    }

    private void shareType(SHARE_MEDIA platform) {
        shareWeb(activitys, urll, storename
                , goodsName, imgs, R.mipmap.app_logo, platform
        );
    }

    /**
     * 分享链接
     */
    private void shareWeb(final Activity activity, String WebUrl, String title, String description,
                          String imageUrl, int imageID, SHARE_MEDIA platform) {

        Log.e(TAG, "shareWeb imageUrl: "+imageUrl );
        Log.e(TAG, "shareWeb imageID: "+imageID );
        UMWeb web = new UMWeb(WebUrl);//连接地址
        web.setTitle(title);//标题
        web.setDescription(description);//描述
        if (TextUtils.isEmpty(imageUrl)) {
            web.setThumb(new UMImage(activity, imageID));  //本地缩略图
        } else {
            web.setThumb(new UMImage(activity, imageUrl));  //网络缩略图
        }
        new ShareAction(activity)
                .setPlatform(platform)
                .withMedia(web)
                .setCallback(new UMShareListener() {
                    @Override
                    public void onStart(SHARE_MEDIA share_media) {

                    }

                    @Override
                    public void onResult(final SHARE_MEDIA share_media) {
                        resultShareCallBack.resultShare("分享成功");
                    }

                    @Override
                    public void onError(final SHARE_MEDIA share_media, final Throwable throwable) {
                        if (throwable != null) {
                            Log.d("throw", "throw:" + throwable.getMessage());
                        }
                        resultShareCallBack.resultShare("分享失败");

                    }

                    @Override
                    public void onCancel(final SHARE_MEDIA share_media) {
                        resultShareCallBack.resultShare("分享取消");
                    }
                })
                .share();
    }
}

2、初始化:
        ShareDialog shareDialog = new ShareDialog(this, utilsManage, new ShareDialog.resultShareCallBack() {
            @Override
            public void resultShare(String tv) {
                showToast(tv);
            }
        });

3、应用:

                if (goodsEntitiy.getData().getAlbum().size()>0){
                    imgUrl=goodsEntitiy.getData().getAlbum().get(0);
                }
                String userPhone = shareference.getUserLoginPhone();
                shareDialog.setUrl("https://phone.zhongshop.cn/#/pages/index/goods/detail?id=" + good_id+"&phone="+userPhone,
//                        goodsEntitiy.getData().getAlbum().get(0),
                        imgUrl,
                        goodsEntitiy.getData().getName(),
                        goodsEntitiy.getData().getStore_name() + "_" + goodsEntitiy.getData().getBrief()

                );
                shareDialog.showdialog();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jian11058

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值