从Android 2.1中的.vcf文件导入联系人
我能够使用以下代码从.vcf文件中的android中检索所有联系人。从Android 2.1中的.vcf文件导入联系人
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
String lookupKey = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey);
System.out.println("The value is " + cr.getType(uri));
AssetFileDescriptor fd = this.getContentResolver().openAssetFileDescriptor(uri, "r");
FileInputStream fis = fd.createInputStream();
我不知道如何使用这个.vcf文件来使用代码导入所有这些联系人。 .vcf文件中包含的所有联系人,包括照片等
干杯, Prateek
我终于实现了联系人导入的所有细节。解决方案是从Android源代码中提取所有相关文件,并进行一些更改,它将起作用。 :-)
愿意分享哪些文件和有什么变化? – 2011-03-04 01:11:11
请参考我下面的回复。您需要使用pim - > vcard文件夹中的所有文件。 – 2011-03-04 07:17:32
@PrateekJain:请在这里分享你的代码。 – pratik 2012-05-01 12:44:31
我在为Android导入联系人作为电子名片挣扎了很多,花了很多时间后,我来到没有公共的API用于导入联系人。
我所知道的唯一方法就是重用Android的源代码。我通过重用Android 2.1源代码实现了同样的目标。
该文件可以从
被称为在右边的探险家,你会发现PIM文件夹下所需的所有文件。将负责启动该程序的文件是ImportVCardActivity.java
我希望它可以帮助!
干杯,Prateek
小心分享您的代码? – 2012-03-14 14:11:55
如上所述,有一个内置在VCFImportActivity中烘烤,以机器人本身的代码。我个人想通过意向从Gmail应用程序打开一个无法识别的vcf文件。我会发送一个附加到我的程序,然后将启动联系人应用程序的VCF数据的意图。 如果您在保存上述VCF文件到SD卡的根目录下(或其它地方的通讯录应用程序保存其出口VCFS),然后开始像这样的活动:
Uri stuff = getIntent().getData();
Intent i = new Intent(android.content.Intent.ACTION_VIEW, stuff);
i.setType("text/x-vcard");
startActivity(i);
如果应用程序在启动触点导入它在该目录中看到的任何vcf。很显然,在启动此代码段之前保存该vcf文件,启动联系人应用程序(通过可能会出现的选择器),等等! Android SHOULD开始导入这些联系人。 [这是一个解决我的头顶]
如果不这样做,让我知道,让我看看你得到什么样的调试错误。
导入所有android源代码通常是在android上做错事的方法。意图是你如何通过Android中的其他应用完成任务。这是一种烘焙到android的功能,以便像我们这样的开发人员可以“获取”我们通常无法访问的内容。要么因为代码是专有的,要么功能是特权的。如果您创建一个意图,形成与您想要使用的应用程序可以识别的相同类型,并且您没有为该意图设置默认应用程序,那么您想使用的应用程序将是一个选择它的选项当这个意图启动时。 – tjborromeo 2013-03-15 18:44:12
hi prateek jain ... howz u? prateek我也做同样的工作,因为你完成意味着我想在设备中的所有联系人.vcf文件在一个单一的.vcf文件..但问题是,我能够导出后只遍历整个光标一个联系人..那么如何制作所有联系人的单个.vcf文件?我也可以分享代码给你...请帮助...和+1也用于帮助我的问题.. :) – shyam 2012-02-21 12:32:54