The Clipboard API enables copy and pasting to/from the system clipboard.
npm install @capacitor/clipboard
npx cap sync
Android requires the use of a FileProvider
to save an image to the clipboard. Here’s how to set up a FileProvider
and assoicated permissions if you haven't already:
- Declare the
FileProvider
in yourAndroidManifest.xml
:
<application
...>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
</application>
- Create an XML file
res/xml/file_paths.xml
to define the file paths:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<cache-path
name="images"
path="images/" />
</paths>
- Make sure you have the following permissions in your
AndroidManifest.xml
:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Read about Setting Permissions in the Android Guide for more information on setting Android permissions.
import { Clipboard } from '@capacitor/clipboard';
const writeToClipboard = async () => {
await Clipboard.write({
string: "Hello World!"
});
};
const checkClipboard = async () => {
const { type, value } = await Clipboard.read();
console.log(`Got ${type} from clipboard: ${value}`);
};
write(options: WriteOptions) => Promise<void>
Write a value to the clipboard (the "copy" action)
Param | Type |
---|---|
options |
WriteOptions |
Since: 1.0.0
read() => Promise<ReadResult>
Read a value from the clipboard (the "paste" action)
Returns: Promise<ReadResult>
Since: 1.0.0
Represents the data to be written to the clipboard.
Prop | Type | Description | Since |
---|---|---|---|
string |
string |
Text value to copy. | 1.0.0 |
image |
string |
Image in Data URL format to copy. | 1.0.0 |
url |
string |
URL string to copy. | 1.0.0 |
label |
string |
User visible label to accompany the copied data (Android Only). | 1.0.0 |
Represents the data read from the clipboard.
Prop | Type | Description | Since |
---|---|---|---|
value |
string |
Data read from the clipboard. | 1.0.0 |
type |
string |
Type of data in the clipboard. | 1.0.0 |