Im Moment besteht meine Problemumgehung darin, den Text als .txt auf dem Gerät des Benutzers zu speichern und ihn freizugeben. Aber es muss sicherlich einen besseren Weg geben – sogar iOS verfügt über eine native Möglichkeit, dies zu tun. Aber wie kann ich etwas Ähnliches mit dem expo-sharing-Paket von Expo implementieren?
Mein aktueller Workaround (der Kürze halber geändert):
Code: Select all
import * as Sharing from 'expo-sharing';
import * as FileSystem from 'expo-file-system';
...
const shareText = async (text) => {
if (!await Sharing.isAvailableAsync()) {
alert("Sharing is not available on this platform");
return;
}
const fileName = FileSystem.documentDirectory + "text"+new Date().getDate()+"-"+new Date().getMonth()+"-"+new Date().getFullYear()+"_"+new Date().getHours()+"-"+new Date().getMinutes()+".txt";
await FileSystem.writeAsStringAsync(fileName, text);
try {
await Sharing.shareAsync(fileName);
} catch (error) {
console.error("Failed sharing: ", error.message);
}
};