Google+分享对话框显示错误的图片

时间:2015-10-24 18:49:08

标签: android google-plus

我尝试使用此Google+method上分享图片和标题:

share(com.google.android.apps.plus, img, title);
====================================
private void share(String type, int imgResId, String title) {
        boolean found = false;
        Intent share = new Intent(android.content.Intent.ACTION_SEND);
        share.setType("image/jpeg");

        // gets the list of intents that can be loaded.
        List<ResolveInfo> resInfo = context.getPackageManager()
                .queryIntentActivities(share, 0);
        if (!resInfo.isEmpty()) {
            for (ResolveInfo info : resInfo) {

                if (info.activityInfo.packageName.toLowerCase(
                        Locale.ENGLISH).contains(type)
                        || info.activityInfo.name.toLowerCase(
                                Locale.ENGLISH).contains(type)) {
                    Log.d("pack", info.toString());
                    share.putExtra(Intent.EXTRA_SUBJECT, "subject");
                    share.putExtra(Intent.EXTRA_TEXT, title);
                    share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(Helper
                            .saveFile(context, imgResId))); // Optional,
                                                            // just if you
                                                            // wanna share
                                                            // an image.
                    share.setPackage(info.activityInfo.packageName);
                    found = true;
                    break;
                }
            }
            if (!found)
                return;

            context.startActivity(Intent.createChooser(share, "Select"));
        }
}

Google+ share dialog出现时,它会显示错误的图片(我第一次尝试在Google+上分享的图片)。我尝试更改图片resource ID,但仍然是同样的错误图像。

1 个答案:

答案 0 :(得分:2)

我在尝试重用不同文件的URI时遇到了同样的问题,似乎某处的图像缓存没有注意到图像发生了变化。

我&#34;修复&#34;它通过为新图像生成不同的URI(在您的情况下,每次使用唯一的文件名)。更好的解决方案是使缓存无效,但我不知道如何(或是否)可以完成。