跳到主要内容
版本:v6

@capacitor/share

Share API 提供了在用户已安装的支持分享功能的应用程序中共享内容的方法。

该 API 支持 iOS、Android 和 Web 平台(使用新的 Web Share API),尽管目前对 Web 的支持尚不完善。

安装

npm install @capacitor/share@latest-6
npx cap sync

Android

默认情况下,Capacitor 应用仅允许共享缓存文件夹中的文件。若要共享其他 Android 文件夹中的文件,需要将它们添加到 android/app/src/main/res/xml/file_paths.xml 文件中。请查阅 FileProvider 文档中的“指定可用文件”部分以了解可用的位置。

示例

import { Share } from '@capacitor/share';

await Share.share({
title: '看看这个很酷的东西',
text: '你真的需要现在就看看这个超棒的东西',
url: 'http://ionicframework.com/',
dialogTitle: '与好友分享',
});

// 仅分享文本
await Share.share({
text: '你真的需要现在就看看这个超棒的东西',
});

// 仅分享链接
await Share.share({
url: 'http://ionicframework.com/',
});

// 使用 url 参数分享本地文件
const photo = await Camera.getPhoto(options);
await Share.share({
url: photo.path,
});

// 使用 files 参数分享多个文件
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

属性类型描述始于
valueboolean表示当前是否支持分享功能。1.1.0

ShareResult

属性类型描述始于
activityTypestring接收分享操作的应用标识符。在某些情况下可能为空字符串。在 Web 平台上此属性为 undefined。1.0.0

ShareOptions

属性类型描述始于
titlestring设置消息的标题。如果分享到电子邮件,此标题将作为邮件主题。1.0.0
textstring设置要分享的文本内容。1.0.0
urlstring设置要分享的 URL,可以是 http、https 或 file:// 协议的 URL。1.0.0
filesstring[]要分享的文件路径数组(file:// URL)。仅支持 iOS 和 Android 平台。4.1.0
dialogTitlestring设置分享模态框的标题。此选项仅在 Android 平台上支持。1.0.0