游戏截屏分享到朋友圈的问题

用官方提供的例子我已经加到我的游戏里已经搞定了,但有个问题是官方提供分享图片,分到朋友圈显示的是 分享一个链接 然后是 一个特别小的缩略图旁边跟着一个文字,点击之后就到浏览器了。

而我希望的是 分享纯图片,点击查看大图的样子。

我试着把UmengShareSDK 里 shareImg 函数 的 getInstance().mController.setShareContent(text);这句话注释掉。
然后使用游戏截图,也就是本地图片分享到朋友圈,回调显示成功,但朋友圈里没有。
用官方提供的例子的网络图片,分享到朋友圈,可以成功,但图片是灰色的。

我的问题是,做一个简单的游戏截图分享,在朋友圈里展示就是一个缩略图,点击查看大图。 应该怎么做。。。谢谢大家

这个需要看 UmengShareSDK 的分享图片的接口是怎么调用的。

接口函数

public static void shareImg(final String text, final String img) {

    mContext.runOnUiThread(new Runnable() {

        @Override
        public void run() {

// getInstance().mController.setShareContent(text);

            UMImage image = null;
            try {
                if (img.startsWith("http")) {
                    image = new UMImage(mContext, img);
                } else {
                    image = new UMImage(mContext, BitmapFactory.decodeFile(img));

// image = new UMImage(mContext, new File(img));
// image = new UMImage(mContext, BitmapFactory.decodeStream(mContext.getAssets().open(img)));
}
} catch (Exception e) {
image = null;
}

            if (null != image) {
                getInstance().mController.setShareMedia(new UMImage(mContext, img));
            }
           
            getInstance().mController.openShare(mContext, false);
        }
    });
}

用网络图片是可以成功的, 之前说分享成功,图片不显示,是因为友盟的这个图片,打不开了。。。

微信的分享里如果传了文字,就会认为是一个链接的形式,

所以要实现在楼主要求的,点图片看大图,需要不分享文字

现在官方提供的接口,是必须要传文字的

楼主可以用以下方式实现自己的需求

  1. 在UmengShareSDK中的shareImg(final String text, final String img)函数加入如下代码

if (null != image) {

//新加,这两行就是专门为微信朋友圈设置分享内容,这里没有传text
CircleShareContent circleContent = new CircleShareContent(img);
getInstance().mController.setShareMedia(circleContent);

getInstance().mController.setShareMedia(new UMImage(mContext, img));

}

2.我提交了只分享图片的接口path,正在等待合并,楼主也可看修改地方,改为自己需要的
https://github.com/chukong/quick-cocos2d-x/pull/410/files

CircleShareContent circleContent = new CircleShareContent(img);
getInstance().mController.setShareMedia(circleContent);

有问题,这样朋友圈直接把图片的本地地址显示出来了

我搞定了,总算分享成功了!!
本地图片的话,需要这样写

getInstance().mController.setShareMedia(new UMImage(mContext, BitmapFactory.decodeFile(img)));

看看,学习下。感谢分享:2::2: