美文网首页android开发日常总结
如何分享多张图片到微信朋友圈?

如何分享多张图片到微信朋友圈?

作者: aitality | 来源:发表于2018-06-12 15:49 被阅读5次

    本文摘录自我的新浪博客(android-robot),因为点击量很高,特分享至简书。点击阅读博客原文

    大家都知到,分享一张图到微信朋友圈我们很常见,但是想要分享多张图到微信朋友圈几乎见不到。微信sdk暂未开放一次分享多张图片到朋友圈,但是有没有别的办法解决呢?显然是有的,不然我也不在这废话了。

    下面的代码亲测有效,轻轻松松分享多图:

    • 判断是否安装了微信代码
    if(!AppUtils.isInstalledPackage(context, "com.tencent.mm")){
          ToastUtils.showToast(R.string.msg_wechat_uninstall);
          return;
    }
    //AppUtils.isInstalledPackage
    public static boolean isInstalledPackage(Context context, String packageName) {
            PackageInfo packageInfo = null;
            try {
                if (context!= null){
                    packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);
                }
            } catch (PackageManager.NameNotFoundException e) {
                packageInfo = null;
                e.printStackTrace();
            }
            if (packageInfo == null) {
                return false;
            } else {
                return true;
            }
    }
    
    • 分享多张图
    Intent weChatIntent = new Intent();
    weChatIntent.setComponent(new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI"));
    ArrayList imageList = new ArrayList();
    for(String path : picPaths){
          File file = new File(path);
          if(file.exists()){
                imageList.add(FileUtils.getFileUri(context, file));
          }
    }
    if(imageList.size() == 0) return;
    weChatIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
    weChatIntent.setType("image/*");
    weChatIntent.putExtra(Intent.EXTRA_STREAM, imageList);
    weChatIntent.putExtra("Kdescription", description); //分享描述
    context.startActivity(weChatIntent);
    

    注意:该方法不支持分享网络图片,只支持分享本地图片。

    相关文章

      网友评论

        本文标题:如何分享多张图片到微信朋友圈?

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