Skip to main content

Files

Starting a file transfer

Using the file system

import {startFileTransfer} from "react-native-watch-connectivity";

const uri = 'file:///path/to/image.jpg';

const id = await startFileTransfer(uri);

console.log(`Started file transfer with id ${id}`);

With metadata

import {startFileTransfer} from "react-native-watch-connectivity";

const id = await startFileTransfer("file:///path/to/file", {
name: "photo.jpg",
type: "image/jpeg"
});

Monitoring file transfers

Get file transfers

This includes ongoing, finished, cancelled and errored file transfers.

import {getFileTransfers} from "react-native-watch-connectivity";

const transfers = await getFileTransfers();

Object.entries(transfers).map(([transferId, info]) => {
console.log(info.fractionCompleted); // 0 - 1
console.log(info.error); // Error || null
console.log(info.endTime); // null || Date
});

File transfer events

import {watchEvents} from "react-native-watch-connectivity";

const unsubscribe = watchEvents.addListener('file', event => {
switch(event.type) {
case 'started':
console.log(`${event.uri}: started file transfer`);
break;
case 'progress':
console.log(`${event.uri}: ${event.fractionCompleted * 100}%`);
break;
case 'finished':
console.log(`${event.uri}: file transfer finished`);
break;
case 'error':
console.error(`${event.uri}: transfer failed`, event.error);
break;
}
});

// ...

unsubscribe();