如何使用存储为字符串的 vCard 启动新的联系人 Intent ? 是否可以以某种方式设置原始 vCard 而不是 URI? 一种:
intent.setDataAndType(vcardAsString,"text/x-vcard")
最佳答案
Android 的 AOSP 似乎已将 vcard 处理从消息应用程序移至联系人应用程序,所以现在看来这是可能的。
但是,这并不是纯粹的编程方式,用户将看到一个 UI 来选择她想要存储传入联系人的帐户。
要测试它,请下载an example vcf file到手机的下载文件夹,然后运行以下 Intent :
adb shell am start -a "android.intent.action.VIEW" -t "text/vcard" -d "file:///sdcard/Download/john-doe.vcf"
或在代码中:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("file:///sdcard/Download/john-doe.vcf"));
intent.setType("text/vcard");
startActivity(intent);
因此,在您的应用中,您需要将字符串保存到 SD 卡上的文件中,通讯录应用可以从中读取(不是您应用的私有(private)数据文件夹),并发送 Intent 以及指向该文件的 uri。
关于java - 以字符串形式将联系人作为 vCard 启动 Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46846982/