Как отправить файл на определенный номер в WhatsApp с помощью любого плагина во флаттере?
Я получил там несколько ответов, но везде я получал только то, как отправить текстовое сообщение на определенный номер мобильного телефона из приложения Flutter. Мне нужен способ отправить файл в WhatsApp на определенный номер во флаттере. Любые предложения приветствуются.
Здесь я использую программу запуска URL, но обмен файлами не осуществляется .. Пожалуйста, помогите кому-нибудь.
class UrlLauncherService {
void launchWhatsApp({
@required String phone,
@required String message,
}) async {
String url() {
if (Platform.isIOS) {
return "whatsapp://wa.me/$phone/?text=${Uri.parse(message)}";
} else {
return "whatsapp://send?phone=$phone&text=${Uri.parse(message)}";
}
}
if (await canLaunch(url())) {
await launch(url());
} else {
throw 'Could not launch ${url()}';
}
}
}
2 ответа
Вы можете использовать плагин esys-flutter-share. Хотя есть некоторые проблемы с официальными версиями, но вы можете использовать PR из их git. https://github.com/esysberlin/esys-flutter-share
Примером может быть:
await Share.file(
'QR Code', 'qrcode.png', base64Decode(qrCode.image), 'image/png',
text: qrCode.text);
Вы можете использовать это с помощью кнопки, которая откроет некоторые параметры для обмена файлом, где также находится Whatsapp.
Я думаю, что в WhatsApp нет API для обмена файлами с конкретным контактным номером. Из-за этого плагина флаттера пока нет. я использую
Share.shareFiles([file_path]);
из плагина Flutter Share в качестве обходного пути.