From 81915e19e0834b8adae585b04dc9cf47bb1046ff Mon Sep 17 00:00:00 2001 From: chenying09 Date: Wed, 7 Aug 2024 21:42:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++++- docs/build-setup-android.md | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3bcdc69..2cf24b3 100644 --- a/README.md +++ b/README.md @@ -226,7 +226,7 @@ ShareFileMetadata | name | type | description | | ----- | ------ | -------------- | -| url | String | 文件地址 | +| url | String | 文件地址。如果是远程文件,则为 http 开头;如果是本地文件,则为绝对路径,如 /storage/emulated/0/Android/xxx | | title | String | 文件标题 | | scene | Number | 分享到, 0:会话 | @@ -237,6 +237,9 @@ Return: | errCode | Number | 0 if authorization succeed | | errStr | String | Error message if any error occurred | + +安卓实现分享本地文件需要对工程进行一些配置,详见 [Android 安装](./docs/build-setup-android.md#分享本地文件) + ```js import * as WeChat from 'react-native-wechat-lib'; diff --git a/docs/build-setup-android.md b/docs/build-setup-android.md index 444cf11..1a7c5b7 100644 --- a/docs/build-setup-android.md +++ b/docs/build-setup-android.md @@ -114,6 +114,43 @@ android:launchMode="singleTask" ``` +## 分享本地文件 +如果你需要分享本地文件,需要在 Android 的工程里进行一些设置,否则会有权限问题 + +步骤 1:app/src/main/AndroidManifest.xml 中添加 provider 标签,其中 com.yourapp.xxx 要替换为你自己的包名,记得保留后面的 `.fileprovider` + +```xml + + ... + + + + ... + +``` + +步骤 2:实现 app/src/main/res/xml/filepaths.xml + +```xml + + + + + + + +``` + +在这个 XML 文件中,你可以定义不同的路径类型(如 cache-path、external-path 等),以及对应的路径前缀。这样,在使用 FileProvider.getUriForFile() 时,就可以根据这些定义来获取正确的 URI。 + +请注意,当组件库被集成到不同的应用中时,你可能需要根据你自己的需求调整 filepaths.xml 中的路径定义。 + ## 关于 Android11 微信将于近期发布 targetSdkVersion 30的客户端版本,因Android11系统特性,该微信版本在Android 11及以上系统版本的设备上运行时,授权登录、分享、微信支付等功能受到影响,可能无法正常使用。为了适配 Android 系统新版本特性,保证微信功能正常使用,请第三方应用2021年11月1日之前进行更新