如何以编程方式从 Android 中的 .vcf 文件导入或插入联系人?

2023-12-01

我创造.vcf使用以下代码保存 Android 中所有联系人的文件。

public static void getVCF() 
{
    final String vfile = "POContactsRestore.vcf";
    Cursor phones = mContext.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
                    null, null, null);
    phones.moveToFirst();
    for(int i =0;i<phones.getCount();i++)
    {
         String lookupKey = phones.getString(phones.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
         Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey);
         AssetFileDescriptor fd;
         try 
         {
             fd = mContext.getContentResolver().openAssetFileDescriptor(uri, "r");
             FileInputStream fis = fd.createInputStream();
             byte[] buf = new byte[(int) fd.getDeclaredLength()];
             fis.read(buf);
             String VCard = new String(buf);
             String path = Environment.getExternalStorageDirectory().toString() + File.separator + vfile;
             FileOutputStream mFileOutputStream = new FileOutputStream(path, true);
                        mFileOutputStream.write(VCard.toString().getBytes());           
             phones.moveToNext();                           
             Log.d("Vcard",  VCard);
         } 
         catch (Exception e1) 
         {
              // TODO Auto-generated catch block
              e1.printStackTrace();
         }
    }
}

如何添加/恢复联系人.vcf在Android中以编程方式文件?

我想恢复所有联系方式.vcf使用代码将文件写入Android。 这个怎么做?


其实我也想做同样的事情,经过长时间的研究终于找到了解决方案。

这是要恢复的代码段:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(storage_path+vfile)),"text/x-vcard"); //storage path is path of your vcf file and vFile is name of that file.
startActivity(intent);

Enjoy!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式从 Android 中的 .vcf 文件导入或插入联系人? 的相关文章

随机推荐

  • 如何去除 R 中的异常值?

    我目前正在尝试以一种非常简单的方式删除 R 中的异常值 我知道您可以为此自行创建一些函数 但我想对这个简单的代码进行一些输入 以及为什么它似乎不起作用 outliers lt boxplot okt pris out okt no out
  • Windows 7 下 GTK 中 gtk_widget_queue_draw 中的内存泄漏

    以下GTK程序 include
  • SSL_connect 返回=1 errno=0 状态=SSLv3 读取服务器证书 B:证书验证失败 MAC

    我正在尝试使用 SoundCloud SDK 进行用户身份验证 用户单击 登录 后我的第一条路线 get login do client Soundcloud new client id gt MY ID client secret gt
  • gfortran 将 c 库与 conda 连接

    我正在尝试在 Ubuntu 18 04 服务器上使用 conda 编译 C Fortran 程序 但我没有超级用户权限 我能够在我的 Ubuntu 18 04 PC 上使用相同的源代码正确编译程序 也使用 conda 但在服务器上我收到一堆
  • swagger ui 中的隐藏字段

    我正在使用 swagger UI 2 0 23 版本 并使用 json 文件提供 api 我需要使用 swagger ui 将特定标头值发送到我的 api 但该字段不应在 ui 中可见 因为该值不应该被更改 因此 如何隐藏该字段以使其不显示
  • 正则表达式 - 在每个单词之前/之后添加一个字符

    Using 记事本 and replace函数 我尝试添加一个符号 or 在我列表中的每个单词之前 列表示例 blue car 红色汽车大 红色小车 绿色汽车大 绿色小车 我正在寻找以下结果 蓝色 汽车 红色 汽车 小 红色 汽车 大 et
  • PHP 的 MCRYPT_RIJNDAEL_256 CBC 的 Python 等效项

    我需要这个函数的 Python 实现 我想在 appengine 上使用它 我不太擅长Python 所以请帮忙 function encrypt data return base64 encode mcrypt encrypt MCRYPT
  • 如何通过改变CSS来实现这样的滚动div?

    This site左侧有一个滚动 div 当您滚动页面时 div 也会有节奏地滚动 并且图像的颜色也会发生变化 position fixed还不是全部都能做到 那什么是技术呢 EDIT position fixed我可以用它来将 div 固
  • 为什么 Spring Security 中永远不会触发事件 AbstractAuthenticationFailureEvent ?

    我使用 spring 4 0 2 RELEASE 和 spring security 3 2 5 RELEASE 我使用它是因为当我开始我的项目 spring security 4 0 0 时它位于快照中 我尝试过 spring 4 2 0
  • 如何按空格分割字符串

    我需要用空格分割字符串 为此我尝试过 str Hello I m your String String splited str split 但这似乎不起作用 你所拥有的应该有效 但是 如果提供的空间默认为 其他内容 您可以使用空白正则表达式
  • R:4D 绘图、x、y、z、颜色

    你能给我一个关于如何使用 rgl 在 x y 和 z 轴上绘制 3 个变量以及使用不同颜色绘制第四个变量的示例吗 thanks 您使用以下组合persp和颜色根据单独的功能 这是一些示例代码 Create a simple surface
  • Java 桌面应用程序的内存分析

    我的应用程序加载了大约的数据集 每次 85bm 至 100mb 应用程序的内存限制设置为 512mb 理论上来说 这已经足够了 然而 我发现 如果在应用程序的单次运行中 我打开和关闭数据集 5 次 总内存消耗会稳步增加 直到出现内存不足错误
  • 保存登录详细信息(首选项)android

    我有一个带有登录 注销功能的Android应用程序 登录表单包含用户名和密码以及登录按钮 我想在用户选中 记住我 复选框时保存用户名和密码 我的project java文件如下所示 public class project extends
  • REACT- DOM 突变警告含义

    违规 向 DOMNodeInserted 事件添加了同步 DOM 突变侦听器 考虑使用 MutationObserver 来使页面响应更快 关于此警告还有另一个问题 我已经在那里回答了解决该问题的方法 这不是这个问题的原因 对于那些想知道的
  • 如何与我的应用程序共享选定的文本?

    我想让我的应用程序出现在 UIActivityViewController 中以进行文本共享 例如邮件 iMessage Notes Gmail 等 例如 当用户点击所选文本并从任何应用程序中点击 共享 按钮 如附件中所示 时 我希望我的应
  • 占位符混合 SCSS/CSS

    我正在尝试为 sass 中的占位符创建一个混合 这是我创建的 mixin mixin placeholder css webkit input placeholder css moz placeholder css moz placehol
  • REGEX 查找特定子字符串(如果不是单词的一部分)

    我在简化我创建的正则表达式时遇到了麻烦 sept a zA Z sept a zA Z a zA Z sept sept a zA Z 该正则表达式必须找到子字符串sept 这不是任何单词的一部分 例如 september 当应该找到单词时
  • 如何在 Python 中将数组数组转换为多维数组?

    我有一个 NumPy 数组 长度为 X 所有数组都具有相同的长度 Y 但其类型为 对象 因此具有维度 X 我想将其 转换 为具有成员数组元素类型 float 的维度 X Y 数组 我能看到做到这一点的唯一方法是 手动 使用类似的东西 x f
  • 气氛/泽西岛双向对话

    我见过许多 Atmosphere 示例 包括 pub sub 我想做类似 pub sub 的事情 客户端订阅该客户端唯一的通道 服务器定期发布到该通道 只不过客户端也会将数据发送到服务器 客户端将发送数据以响应服务器发送的数据 以及在其他情
  • 如何以编程方式从 Android 中的 .vcf 文件导入或插入联系人?

    我创造 vcf使用以下代码保存 Android 中所有联系人的文件 public static void getVCF final String vfile POContactsRestore vcf Cursor phones mCont