Я пытаюсь реализовать функцию моего приложения Flutter, чтобы, если пользователь нажимает на конкретную кнопку, изображение и текст должны быть переданы по почте, WhatsApp и т. Д.
, я использовал плагин share_plus и плагин экрана. Он будет делиться только текстом, и изображение всегда отсутствует. Когда я удаляю текст и делюсь только изображением, все хорошо работает на WhatsApp.
Не могли бы вы мне помочь? Большое спасибо! < /P>
import 'package:flutter/material.dart';
import 'package:share_plus/share_plus.dart';
import 'package:path_provider/path_provider.dart';
import 'dart:typed_data';
import 'package:screenshot/screenshot.dart';
import 'dart:io';
class InfoScreen extends StatelessWidget {
final controller = ScreenshotController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Info'),
flexibleSpace: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Color(0xffFBD23E), Color(0xffF6BE03)],
begin: Alignment.topCenter,
end: Alignment.bottomCenter),
),
),
),
body: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Color(0xffFEFDFD), Color(0xffBDBDB2)],
begin: Alignment.topLeft,
end: Alignment.bottomRight),
),
child: Column(
children: [
ButtonTheme(
minWidth: 10000,
height: 45,
child: Padding(
padding: EdgeInsets.fromLTRB(15, 2, 15, 15),
child: Align(
alignment: Alignment.topCenter,
child: RaisedButton(
onPressed: () async {
final image = await controller
.captureFromWidget(buildImageStartseite());
saveAndShare(image);
},
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(12.0),
bottomRight: Radius.circular(12.0),
),
),
highlightColor: Color(0xffB4B4B3),
splashColor: Colors.transparent,
child: Text(
'Press to share',
textAlign: TextAlign.center,
style: TextStyle(fontSize: 17, color: Color(0xff232323)),
),
),
),
),
),
],
),
),
);
}
Future saveAndShare(Uint8List bytes) async {
final directory = await getApplicationDocumentsDirectory();
final image = File('${directory.path}/Shared_picture.png');
image.writeAsBytesSync(bytes);
final text =
'I'm sharing this with you!';
await Share.shareFiles([image.path], text: text);
}
}
Подробнее здесь: https://stackoverflow.com/questions/694 ... n-whatsapp
Flutter Share Plus: обмен изображением и текстом на WhatsApp ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1747377631
Anonymous
Я пытаюсь реализовать функцию моего приложения Flutter, чтобы, если пользователь нажимает на конкретную кнопку, изображение и текст должны быть переданы по почте, WhatsApp и т. Д.
, я использовал плагин share_plus и плагин экрана. Он будет делиться только текстом, и изображение всегда отсутствует. Когда я удаляю текст и делюсь только изображением, все хорошо работает на WhatsApp.
Не могли бы вы мне помочь? Большое спасибо! < /P>
import 'package:flutter/material.dart';
import 'package:share_plus/share_plus.dart';
import 'package:path_provider/path_provider.dart';
import 'dart:typed_data';
import 'package:screenshot/screenshot.dart';
import 'dart:io';
class InfoScreen extends StatelessWidget {
final controller = ScreenshotController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Info'),
flexibleSpace: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Color(0xffFBD23E), Color(0xffF6BE03)],
begin: Alignment.topCenter,
end: Alignment.bottomCenter),
),
),
),
body: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Color(0xffFEFDFD), Color(0xffBDBDB2)],
begin: Alignment.topLeft,
end: Alignment.bottomRight),
),
child: Column(
children: [
ButtonTheme(
minWidth: 10000,
height: 45,
child: Padding(
padding: EdgeInsets.fromLTRB(15, 2, 15, 15),
child: Align(
alignment: Alignment.topCenter,
child: RaisedButton(
onPressed: () async {
final image = await controller
.captureFromWidget(buildImageStartseite());
saveAndShare(image);
},
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(12.0),
bottomRight: Radius.circular(12.0),
),
),
highlightColor: Color(0xffB4B4B3),
splashColor: Colors.transparent,
child: Text(
'Press to share',
textAlign: TextAlign.center,
style: TextStyle(fontSize: 17, color: Color(0xff232323)),
),
),
),
),
),
],
),
),
);
}
Future saveAndShare(Uint8List bytes) async {
final directory = await getApplicationDocumentsDirectory();
final image = File('${directory.path}/Shared_picture.png');
image.writeAsBytesSync(bytes);
final text =
'I'm sharing this with you!';
await Share.shareFiles([image.path], text: text);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/69439480/flutter-share-plus-sharing-image-and-text-on-whatsapp[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия