我读了很多关于将联系人从网络保存到手机的讨论。唯一可用的是 IOS/Android。我目前正在开发一个 Flutter Web 项目,我有“保存到联系人”按钮。有人可以帮助我吗?
我使用以下代码将联系信息保存为 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);
}