如何使用Whatsapp与文字标题分享/发布图像小部件

时间:2019-10-26 16:52:29

标签: android flutter dart

我尝试与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);
    }

0 个答案:

没有答案