使用 flutter web 将联系人保存到手机

问题描述 投票:0回答:2

我读了很多关于将联系人从网络保存到手机的讨论。唯一可用的是 IOS/Android。我目前正在开发一个 Flutter Web 项目,我有“保存到联系人”按钮。有人可以帮助我吗?

flutter dart web contacts
2个回答
0
投票

在浏览器中保存联系人最接近的方法是分享vcard


0
投票

我使用以下代码将联系信息保存为 flutter web 中的 Vcard:

Future<void> addToContactsFn() async {
const String vcard1Text = '''
BEGIN:VCARD
VERSION:1.0
N:Gonzalez;Juan;;;
FN:Juan Gonzalez
TEL:555-1234
TEL;HOME:555-5678
ADR;WORK:;;123 Main St.;Anytown;CA;12345;USA
ADR;HOME:;;456 Oak St.;Othertown;CA;67890;USA
EMAIL:[email protected]
EMAIL:[email protected]
ORG:Acme Inc.;Sales Department
TITLE:Sales Representative
ROLE:Sales
URL:http://www.johndoe.com
PHOTO;JPEG:http://www.example.com/photo.jpg
LOGO;GIF:http://www.example.com/logo.gif
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:Acme Inc.=0D=0ASales Department=0D=0A123 Main St.=0D=0AAnytown, CA 12345=0D=0AUSA
LABEL;HOME;ENCODING=QUOTED-PRINTABLE:456 Oak St.=0D=0AOthertown, CA 67890=0D=0AUSA
END:VCARD''';

    final VCard1 card = VCard1.fromPlainText(vcard1Text);
    debugPrint(card.toString());
    debugPrint(card.toPlainText());
    final html.Blob blob = html.Blob(<String>[card.toPlainText()]);
    final String url = html.Url.createObjectUrlFromBlob(blob);
    final html.AnchorElement anchor = html.AnchorElement(href: url)
      ..target = 'blank'
      ..download = 'vcard_1.0.vcf'
      ..click();
    html.Url.revokeObjectUrl(url);
  }
© www.soinside.com 2019 - 2024. All rights reserved.