使用flutter通过QR码生成VCF文件?



我想在其他用户扫描自己的qr码时共享用户联系人。

场景:

用户想分享他的联系人另一位用户扫描他的二维码最终用户有一个VCF文件来存储本地信息

这可能吗?

我在我的flutter应用程序https://play.google.com/store/apps/details?id=com.kashikha.qrprofile中这样做。我所做的是要求用户输入他们的详细信息,使用vcf_maintenance (https://pub.dev/packages/vcard_maintained)包创建vCard,并将该vCard传递给qr_flutter (https://pub.dev/packages/qr_flutter)。这将在IOS相机扫描时生成QR码,将在联系人应用程序中打开联系人详细信息。但在android中,我们需要将扫描的QR数据(字符串)转换为vcf并打开联系人的详细信息。

使用qr_flutter生成QR码。

保存生成的QR码使用以下功能:

Future<String> get _localPath async {
final directory = await getApplicationDocumentsDirectory();
return directory.path;
}
Future<File> get _localFile async {
final path = await _localPath;
return File('$path/contact.vcf');
}
Future<File> _createFile(String data) async {
final file = await _localFile;
return file.writeAsString(data);
}

你需要path_provider。

共享二维码请使用share

IconButton(
onPressed: () async {
var _vcf = await _createFile(_data);
await Share.shareFiles(
[_vcf.path],
subject: 'vCardName',
text: 'vCard',
);
},
icon: const Icon(Icons.share),
)

最新更新