2010-10-10 5 views
2

Я пытаюсь импортировать vcard (версия 3.0) автоматически в контакты Android. В диспетчере контактов есть возможность импортировать файл vcf, хранящийся на SD-карте, в контакты. Как я могу вызвать эту функцию при передаче файла?Импорт vcard 3.0 автоматически в андроид-контакты (Android 2.1)

ответ

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

 Смежные вопросы

  • Нет связанных вопросов^_^