我尝试与flutter的whatsapp共享图像和文本标题没有成功。我的意图不是共享图像和文本作为附件,而是将数据发送到whatsapp,以便后者可以将其(图像和文本标题)显示给接收者。我尝试使用全局键和Repaintboundary以便绘制所需的小部件并将输出转换为asUint8List或base64Encode格式,以便能够将其发送到whatsapp以显示为图像。我成功地将图像数据转换为上述格式,但是当我使用颤动的“ package:share / share.dart”将其发送到whatsapp时,Whatsapp中仅显示了长乱码。问题是如何将这种数据格式发送到whatsapp以正确显示为图像?我是在正确执行此操作,还是有一种更优雅,更轻松的方法来实现我要执行的操作?任何帮助,将不胜感激谢谢。
下面是我尝试过的代码片段:
GlobalKey myKey = GlobalKey();
RepaintBoundary(
key: myKey,
child:Container(
margin: EdgeInsets.only(right: 30),
child: GestureDetector(
child:Badge(position: BadgePosition.bottomRight(),
// padding: EdgeInsets.only(bottom: 0),
badgeContent: Text(cartCount==0?"0":"1"),
child: Icon(Icons.shopping_cart,color: Colors.deepPurpleAccent,size: 25,),
),
onTap: (){
// _navigate();
convertToImage().then((onValue){
});
},
)
),
),
Future<Uint8List> convertToImage()async{
RenderRepaintBoundary boundary = myKey.currentContext.findRenderObject();
ui.Image image = await boundary.toImage(pixelRatio: 1.0);
ByteData byteData =
await image.toByteData(format: ui.ImageByteFormat.png);
return byteData.buffer.asUint8List();
// print(pngBytes);
//return base64Encode(pngBytes);
// print(pngBytes);
}