Skip to main content
Version: v8

@capacitor/share

The Share API provides methods for sharing content in any sharing-enabled apps the user may have installed.

The Share API works on iOS, Android, and the Web (using the new Web Share API), though web support is currently spotty.

Install

npm install @capacitor/share
npx cap sync

Android

By default, Capacitor apps only allow to share files from caches folder. To make other Android folders shareable, they have to be added in android/app/src/main/res/xml/file_paths.xml file. Check the Specifying Available Files section in FileProvider docs for the available locations.

Example

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

await Share.share({
title: 'See cool stuff',
text: 'Really awesome thing you need to see right meow',
url: 'http://ionicframework.com/',
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: 'http://ionicframework.com/',
});

// 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!),
});

Each platform uses a different set of fields, but you should supply them all.

API

canShare()

canShare() => Promise<CanShareResult>

Check if sharing is supported.

Returns: Promise<CanShareResult>

Since: 1.1.0


share(...)

share(options: ShareOptions) => Promise<ShareResult>

Show a Share modal for sharing content with other apps

ParamType
optionsShareOptions

Returns: Promise<ShareResult>

Since: 1.0.0


Interfaces

CanShareResult

PropTypeDescriptionSince
valuebooleanWhether sharing is supported or not.1.1.0

ShareResult

PropTypeDescriptionSince
activityTypestringIdentifier of the app that received the share action. Can be an empty string in some cases. On web it will be undefined.1.0.0

ShareOptions

PropTypeDescriptionSince
titlestringSet a title for any message. This will be the subject if sharing to email1.0.0
textstringSet some text to share1.0.0
urlstringSet a URL to share, can be http, https or file:// URL1.0.0
filesstring[]Array of file:// URLs of the files to be shared. Only supported on iOS and Android.4.1.0
dialogTitlestringSet a title for the share modal. This option is only supported on Android.1.0.0