Oreo上的联系地址簿与查找键共享一个.vcf文件而不是URI

时间:2018-12-01 20:39:14

标签: android android-contacts

Android Oreo 及以下版本中,我得到以下格式:

content://com.android.contacts/contacts/as_vcard/967i4519d3b389d66e0f

最后的URI路径段在此处为联系人查找键。

Android Pie 上,联系人应用通过VCF文件共享联系人,如下所示:

content://com.google.android.contact.files/my_cache/contactname.vcf

可悲的是,现在没有查找关键字了。现在如何从通讯录中获取共享联系人?

1 个答案:

答案 0 :(得分:0)

在Android Oreo 上,它也是一个vcard,因此不要仅使用最后一个路径段。

如CommonsWare所述:
不要对任意应用程序中的Uri结构进行假设。使用ContentResolver和openInputStream()读取内容,并从Intent中获取该内容的MIME类型

因此解决方案是:
使用以下命令检查MIME类型

intent.getType()

如果它是 text / x-vcard ,则通过openInputStream将其打开并解析文件。