Android app分享文件到微信 您所在的位置:网站首页 怎么分享word文档到微信 Android app分享文件到微信

Android app分享文件到微信

2024-07-12 09:36| 来源: 网络整理| 查看: 265

两种实现方案:

1.使用WXFileObject构造分享方法发送到微信; 2.调用系统分享方法,把文件直接发送到微信;

那么下面来分别看看怎么实现:

〇、准备工作

首先,需要在AndroidManifest.xml中配置FileProvider信息,以适配10以后版本文件读取问题

AndroidManifest.xml

file_paths.xml

一、使用WXFileObject构造分享方法发送到微信

这种方式分享需要接入微信分享的SDK,分享到微信后可以显示来源。但是官方文档中没有WXFileObject的示例,所以这里贴一段自己写的方法给大家做参考,其他分享类型可以参考官方文档(https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/Android.html )

ShareUtils.java

public static final String PACKAGE_WECHAT = "com.tencent.mm"; /** * 分享文件到微信好友 by WXAPI * * @param thumbId 分享到微信显示的图标 */ public static void shareFileToWechat(Context context, File file, int thumbId) { if (!isInstallApp(context, ShareUtils.PACKAGE_WECHAT)) { Toast.makeText(context, "您需要安装微信客户端", Toast.LENGTH_LONG).show(); return; } //ANDROID 11上微信分享得走FileProvider Log.d("share", "SDK_INT=" + Build.VERSION.SDK_INT); if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) { shareWechatFriend(context, file); return; } //构建发送文件体 WXFileObject fileObject = new WXFileObject(); /*经实测,不给fileObject设置fileData,也是可以分享文件得,且大小默认10M以内 反而是设置了fileData属性的话,分享文件大小不能大于500kb,且在Android11以上无法分享,坑啊, 所以,在Android11上需要走FileProvider文件分享的方式*/ //设置需要发送的文件byte[] //byte[] fileBytes = readFile(file); //fileObject.setFileData(fileBytes); fileObject.setFilePath(file.getAbsolutePath()); fileObject.setContentLengthLimit(1024 * 1024 * 10); //使用媒体消息分享 WXMediaMessage msg = new WXMediaMessage(fileObject); //这个title有讲究,最好设置为带后缀的文件名,否则可能分享到微信后无法读取 msg.title = file.getName(); //设置显示的预览图 需小于32KB if (thumbId


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有