import {NativeModules, PermissionsAndroid} from 'react-native'; import {Dirs, FileSystem} from 'react-native-file-access'; export const write = async (name: string, data: string) => { const filePath = `${Dirs.DocumentDir}/${name}`; const permission = async () => { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE, ); return granted === PermissionsAndroid.RESULTS.GRANTED; }; const granted = await permission(); if (!granted) return; await FileSystem.writeFile(filePath, data); if (!FileSystem.exists(filePath)) return; await FileSystem.cpExternal(filePath, name, 'downloads'); NativeModules.DownloadModule.show(name); };