分享链接到微信(含图片、标题)

 访问服务器的图片然后分享:先压缩图片保存在本地,在从本地拿图片分享出去,由于微信分享的图片要求在32k一下,所以要转换成缩略图

//直接访问网络图片的url
String titleUrl = "www.baidu.com";//标题url
String smallProductUrl = "www.baidu.com";//图片url

Glide.get(EnterGroupActivity.this).clearMemory();
                Glide.with(EnterGroupActivity.this).load(smallProductUrl).asBitmap().into(new SimpleTarget<Bitmap>() {
     @Override
    public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
     //由于微信分享的图片要求在32k一下,所以要转换成缩略图
     // 首先保存图片
     File appDir = new File(getExternalStorageDirectory(), "gxs");
     if (!appDir.exists()) {
        appDir.mkdir();
      }
    //生成时间为名称的图片名称
      String fileName = System.currentTimeMillis() + ".jpg";
      File file = new File(appDir, fileName);
      try {
        FileOutputStream fos = new FileOutputStream(file);
        resource.compress(Bitmap.CompressFormat.JPEG, 100, fos);

        String imagepath = getExternalStorageDirectory() + "/gxs/"+fileName;
                            ShareUtil.showShare(EnterGroupActivity.this,titleUrl,"邀好友,拿佣金",imagepath,"xxx");

//                            AbToastUtil.showToast(MyQrCodeActivity.this,"保存已经至"+ getExternalStorageDirectory() + "/gxs/share.jpg");
                            fos.flush();
                            fos.close();
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        // 其次把文件插入到系统图库
                        try {
                            MediaStore.Images.Media.insertImage(EnterGroupActivity.this.getContentResolver(),
                                    file.getAbsolutePath(), fileName, null);
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        }
                        // 最后通知图库更新
                        EnterGroupActivity.this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + path)));

                    }
                });

ShareUtil.java

public class ShareUtil {

    public ShareUtil() {
    }

    public static void showShare(Context context,String titleUrl, String content, String useravater, String title) {

        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();
        // title标题,印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用
        oks.setTitle(title);
        // titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用
        oks.setTitleUrl(titleUrl);
        // text是分享文本,所有平台都需要这个字段
        oks.setText(content);

        //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博
//        oks.setImageUrl(useravater);
        // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
        oks.setImagePath(useravater);//确保SDcard下面存在此张图片
        // url仅在微信(包括好友和朋友圈)中使用
        oks.setUrl(titleUrl);
        // comment是我对这条分享的评论,仅在人人网和QQ空间使用
//        oks.setComment("我是测试评论文本");
        // site是分享此内容的网站名称,仅在QQ空间使用
//        oks.setSite("ShareSDK");
//        // siteUrl是分享此内容的网站地址,仅在QQ空间使用
//        oks.setSiteUrl("http://sharesdk.cn");
        // 启动分享GUI
        oks.show(context);



    }


}

效果图

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值