将vcard 3.0自动导入android联系人(Android 2.1)

时间:2010-10-10 07:08:28

标签: android import contacts vcard vcf

我正在尝试将vcard(vers.3.0)自动导入到android联系人中。 在联系人管理器中,可以选择将存储在SD卡上的vcf文件导入到联系人中。如何通过移交文件来触发此功能?

2 个答案:

答案 0 :(得分:3)

我用于我的一个项目以下解决方案。它工作得很好。作为vCard lib,我使用了cardme v.0.26,它也支持vcard 3.0版。

注意:文件名存储在res / values / strings.xml ...

        /*
         * Create file. This file has to be readable, otherwise the contact
         * application cannot access the file via URI to read the vcard
         * string.
         */

//此var包含您的vCard作为字符串 String vcardString;

        FileOutputStream fOut = openFileOutput(
                getResources().getText(R.string.app_vcard_file_name)
                        .toString(), MODE_WORLD_READABLE);
        osw = new OutputStreamWriter(fOut);
        // write vcard string to file
        osw.write(vcardString);
        // ensures that all buffered bytes are written
        osw.flush();
    } catch (NotFoundException e) {
        // ..
    } catch (IOException e) {
        // ...
    } finally {
        if (osw != null) {
            try {
                osw.close();
            } catch (IOException e) {
                // ...
            }
        }
    }
    // let the os handle the import of the vcard to the Contacts
    // application
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setDataAndType(Uri.parse("file://"
            + getFileStreamPath(
                    getResources().getText(R.string.app_vcard_file_name)
                            .toString()).getAbsolutePath()), "text/x-vcard");
    startActivity(i);

答案 1 :(得分:-1)

使用联系人VCF应用程序将SD卡/手机存储中的导入联系人导入Android手机中的联系人。

以下是下载应用ContactsVcf

的链接