2012-05-20 3 views
0

Как я могу получить контактный контакт и контактную группу? я использовал следующий код, который дает мне имя и телефон любой всю другую информацию, но не идентификатор или группуКак получить контактный идентификатор и группу

public void ExportContacts() { 
      vCard = new ArrayList<String>(); 
      cursor = mContext.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); 
      int ss = cursor.getCount(); 
      if(cursor!=null&&cursor.getCount()>0) 
      { 
       cursor.moveToFirst(); 
       for(int i =0;i<cursor.getCount();i++) 
       { 

        get(cursor); 
        Log.d("TAG", "Contact "+(i+1)+"VcF String is"+vCard.get(i)); 
        cursor.moveToNext(); 
       } 

      } 
      else 
      { 
       Log.d("TAG", "No Contacts in Your Phone"); 
      } 

     } 

     public void get(Cursor cursor) 
     { 
      //cursor.moveToFirst(); 
      String lookupKey = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY)); 
      Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey); 
      AssetFileDescriptor fd; 
      try { 
       String _id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
       fd = mContext.getContentResolver().openAssetFileDescriptor(uri, "_ID"); 
       FileInputStream fis = fd.createInputStream(); 
       byte[] buf = new byte[(int) fd.getDeclaredLength()]; 
       fis.read(buf); 
       String vcardstring= new String(buf); 
       vCard.add(vcardstring); 

       String storage_path = Environment.getExternalStorageDirectory().toString() + File.separator + vfile; 
       FileOutputStream mFileOutputStream = new FileOutputStream(storage_path, true); 
       mFileOutputStream.write(vcardstring.toString().getBytes()); 

      } catch (Exception e1) 
      { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 
     } 

я хочу поставить идентификатор и имя группы в визитную карточку, что я пишу в файл. Может ли кто-нибудь помочь?

ответ

0

В зависимости от того, какой идентификатор вы хотите, вы можете использовать this или this для поля ID.

Название группы потенциально несколько более беспорядочно: this - это строка названия группы, которая может быть тем, что вам нужно, но вам, вероятно, необходимо выполнить соответствующую проверку ошибок в случае, если не определена группа.

EDIT: ID группы вы можете найти here.

+0

У меня есть идентификатор контакта типа «String _id = cursor.getString (cursor.getColumnIndex (ContactsContract.Contacts._ID)); но я хочу, как добавить его в vCard, я получаю карту из массива байтов – AnasBakez

+0

Не могли бы вы дать мне некоторый код snipet? – AnasBakez