android - 尝试将联系人转换为 Vcard 时出现 FileNotFoundException

标签 android

我正在尝试使用下面的代码将模拟器上的联系人转换为 VCard 格式

AssetFileDescriptor afd =openAssetFileDescriptor(Contacts.CONTENT_VCARD_URI ,"r")

堆栈跟踪说 java.io.FileNotFoundException 在 content://com.android.contacts/contacts/as_vcard 没有文件

我们需要将文件附加到 URI 吗?有没有其他方法可以在 Android 中将联系人转换为 Vcard?

最佳答案

您必须遍历联系人数据库并分别对每个联系人调用 openAssetFileDescriptor()。重要的是,您必须为每个联系人使用查找键,并使用 URI.withAppendedPath() 方法将其附加到 CONTENT_VCARD_URI。

关于android - 尝试将联系人转换为 Vcard 时出现 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2552431/

相关文章:

Android 文件系统挂载/卸载通知

java - Android - CSV 多行发布到 PHP 服务器

java - Retrofit2 安卓 : Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $

android - 2019 年 4 月 6 日之后从 Location.getTime 返回的错误日期(周数翻转)

android - NativeScript for Android App 中的 Kiosk 模式

android - 将数据从小部件传递到 Activity

android - 如何在可运行的 ListView 上删除简单的适配器 View

java - 在 ViewPager 的滑动上停止 Exoplayer

android - 使用Android-OpenCV比较图片

android - 如何在ActionBar中添加EditText进行ListView过滤?