@capacitor/share
分享 API 提供了在用户可能安装的任何支持分享的应用程序中分享内容的方法。
分享 API 在 iOS、Android 和 Web(使用新的 Web Share API)上运行,不过 Web 支持目前还不太稳定。
安装
npm install @capacitor/share
npx cap sync
Android
默认情况下,电容应用程序只允许从缓存文件夹中分享文件。要使其他 Android 文件夹可分享,必须将它们添加到 android/app/src/main/res/xml/file_paths.xml
文件中。查看 FileProvider 文档 中的指定可用文件部分,了解可用位置。
示例
import { Share } from '@capacitor/share';
await Share.share({
title: 'See cool stuff',
text: 'Really awesome thing you need to see right meow',
url: 'https://ionic.js.cn/',
dialogTitle: 'Share with buddies',
});
// Share text only
await Share.share({
text: 'Really awesome thing you need to see right meow',
});
// Share url only
await Share.share({
url: 'https://ionic.js.cn/',
});
// Share local file using url parameter
const photo = await Camera.getPhoto(options);
await Share.share({
url: photo.path,
});
// Share multiple files using files parameter
const { photos } = await Camera.pickImages(options);
await Share.share({
files: photos.map(photo => photo.path!),
});
每个平台使用不同的字段集,但您应该提供所有字段。
API
canShare()
canShare() => Promise<CanShareResult>
检查是否支持分享。
**返回:** Promise<CanShareResult>
自 1.1.0
share(...)
share(options: ShareOptions) => Promise<ShareResult>
显示分享模态以与其他应用程序分享内容
参数 | 类型 |
---|---|
options | ShareOptions |
**返回:** Promise<ShareResult>
自 1.0.0
接口
CanShareResult
属性 | 类型 | 描述 | 自 |
---|---|---|---|
value | boolean | 是否支持分享。 | 1.1.0 |
ShareResult
属性 | 类型 | 描述 | 自 |
---|---|---|---|
activityType | string | 接收分享操作的应用程序的标识符。在某些情况下可能是空字符串。在 Web 上它将是未定义的。 | 1.0.0 |
ShareOptions
属性 | 类型 | 描述 | 自 |
---|---|---|---|
title | string | 为任何消息设置标题。这将是分享到电子邮件的主题 | 1.0.0 |
text | string | 设置要分享的文本 | 1.0.0 |
url | string | 设置要分享的 URL,可以是 http、https 或 file:// URL | 1.0.0 |
files | string[] | 要分享的文件的 file:// URL 数组。仅在 iOS 和 Android 上受支持。 | 4.1.0 |
dialogTitle | string | 为分享模态设置标题。此选项仅在 Android 上受支持。 | 1.0.0 |