Я пытаюсь импортировать vcard (версия 3.0) автоматически в контакты Android. В диспетчере контактов есть возможность импортировать файл vcf, хранящийся на SD-карте, в контакты. Как я могу вызвать эту функцию при передаче файла?Импорт vcard 3.0 автоматически в андроид-контакты (Android 2.1)
2
A
ответ
3
Я использовал для одного из своих проектов следующее решение. Он отлично работал. В качестве vCard lib я использовал cardme v.0.26, который также поддерживает vcard версию 3.0.
Примечание: имя файла хранится в Рез/значения/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.
*/
// эта переменная содержит ваш визитную карточку в виде строки Строка 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);
0
Использование контактов Приложение VCF для импорта контактов из SD-карты/телефона в контакты для мобильных телефонов Android.
Вот ссылка для скачивания приложения ContactsVcf