美文网首页
Android ShareSDK不同平台分享

Android ShareSDK不同平台分享

作者: 最爱平角裤 | 来源:发表于2018-03-12 15:36 被阅读42次
不使用ShareSDK集成好的UI分享样式,单独调用指定平台
注意:一定要明确分享形式是(图片、链接、文本...)
  • 如:QQ分享只需分享图片,那么只需设置imagePath或者ImageUrl即可,如果设置了title或text则会变成链接的分享形式。总会一句参数和形式对应
拓展:
  • 分享的图片是当前屏幕截屏加APP的二维码logo



    实现:

    private String getShareImg(String imagePath) {

        File filePic = null;
        try {
            filePic = new File(UrlConfig.IMGEPATH + "sharePic.jpg");
            if (!filePic.exists()) {
                filePic.getParentFile().mkdirs();
                filePic.createNewFile();
            }


            DisplayMetrics displayMetrics = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
            int width = displayMetrics.widthPixels;
            int height = displayMetrics.heightPixels;

            View view = View.inflate(this, R.layout.layout_share_feed, null);



            ImageView img = view.findViewById(R.id.img_feed_back);
//            Glide.with(this).load(R.drawable.challenge_bg).into(img);
            img.setImageURI(Uri.fromFile(new File(imagePath)));

            view.setDrawingCacheEnabled(true);//启用绘图缓存。
            view.measure(View.MeasureSpec.makeMeasureSpec(width,View.MeasureSpec.EXACTLY),
                    View.MeasureSpec.makeMeasureSpec(height, View.MeasureSpec.EXACTLY));
            view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());

            Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache()); //获得Bitmap;

            FileOutputStream fos = new FileOutputStream(filePic);
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
            fos.flush();
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return filePic.getAbsolutePath();
    }
        oks.setImagePath(getShareImg(imagePath));

相关文章

网友评论

      本文标题:Android ShareSDK不同平台分享

      本文链接:https://www.haomeiwen.com/subject/gbwnfftx.html