Flutter:使用“共享”插件时添加共享选项

时间:2018-11-23 14:55:10

标签: dart flutter

我想做的是允许用户分享他们在我的应用上看到的信息。我正在使用Flutter Share插件,但是我遇到了一些困难,并且一直在寻找,包括不是很好的文档。

共享按钮本身处于工作状态-面板将弹出并显示给用户。但是,它没有为他们提供任何有用的选项,而且我找不到如何添加这些选项,例如Facebook,Twitter,电子邮件,文本等。

这是我的代码,以及一张显示正在发生的事情的图片:

// build method from another class
@override
Widget build(BuildContext context) {
    return StreamBuilder(
        stream: Firestore.instance.collection('stories').snapshots(),
        builder: (context, snapshot) {
            if (!snapshot.hasData) return const Text('Loading...');
            return ListView.builder(
                itemCount: snapshot.data.documents.length,
                itemBuilder: (context, index) =>
                _buildEventCards(context, snapshot.data.documents[index]),
            );
        },
    );
}


class ShareButton extends StatelessWidget {
    const ShareButton({
      Key key,
    }) : super(key: key);

    @override
    Widget build(BuildContext context) {
      return FlatButton(
        child: Text(
          'Share',
          style: TextStyle(
              color: Color.fromRGBO(245, 93, 62, 1.0)),
        ),
        color: Colors.grey[100],
        onPressed: () {
          final RenderBox box = context.findRenderObject();
          Share.share('Hello this is a test',
              sharePositionOrigin:
              box.localToGlobal(Offset.zero) &
              box.size);
        },
      );
    }
  }

抱歉,图片太大了,但是我想添加共享选项,例如Facebook,Twitter,电子邮件,消息等。

enter image description here

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我现在有点愚蠢,因为我现在意识到了Share的工作原理,但是对于初学者或在计算机上使用模拟器的人来说,这肯定是一件令人困惑的事情。

一切正常,原因是我无法在“共享”面板中显示任何内容,原因是我正在使用没有邮件应用程序的计算机上的模拟器应用程序进行测试,并且与我的电话号码无关,没有登录Facebook / Twitter,并且没有其他可以共享的应用。

您要做的就是在实际设备上测试您的应用,然后您登录的所有应用/帐户都会显示在此处,您将可以共享内容。