2012-06-14 17 views
1

스피이 코드 내가 특정 계정이 연락처를 추가 할

long Contact_Id = 100; 
ContentValues pCV =new ContentValues(); 
pCV.put(Contacts.People.NAME, "test"); 
pCV.put(ContactsContract.Contacts._ID, Contact_Id); 
Uri newContactUri = insertContentValues(cResolver, 
        Contacts.People.CONTENT_URI, pCV); 

를 사용하여 장치에 연락처를 추가하는 계정. 다음 코드를 사용하는 iam

ContentResolver cResolver = context.getContentResolver(); 
cResolver.insert(uri, ContactsContract.RawContacts.CONTENT_URI, 
         getAccountType()); 

public ContentValues getAccountType() { 
    ContentValues cv = new ContentValues(); 
    cv.put(ContactsContract.RawContacts.ACCOUNT_TYPE, "com.sonyericsson.localcontacts"); 
    cv.put(ContactsContract.RawContacts.ACCOUNT_NAME, "Phone contacts"); 
    return cv; 
} 

이 코드는 실제로 "전화 연락처"계정에 새 연락처를 추가하고 있습니다. 하지만 나는 위에서 추가 한 연락처 ("테스트")를 "전화 연락처"에 추가하려고합니다. 어떻게 할 수 있습니까? 내가 가장 좋은 방법은 로컬 전화 연락처에 연락처를 삽입하는 것으로 나타났습니다 검색 한 후

답변

1

nullACCOUNT_TYPE, ACCOUNT_NAME 당신은 시도 할 수 있습니다이 Link

+0

내가 동의에서 내 댓글 [링크] (http://stackoverflow.com/questions/10014832/getting이 표시되지 않는 기존 연락처에 연락처를 추가하려면 -account-contact-contact-table-for-access-phone-contact/10320903 # 10320903) –

0

봐 모두에 따라 솔루션을 지정하는 것입니다 선택/requirement.Both 직접 활동 편집 열려있는 연락처를 추가하려면 완벽하게

작업하는

try { 
     Intent addContactIntent = new Intent(Intent.ACTION_INSERT); 
     addContactIntent.setType(ContactsContract.Contacts.CONTENT_TYPE); 
     addContactIntent.putExtra(ContactsContract.Intents.Insert.PHONE, number); 
     addContactIntent.putExtra("finishActivityOnSaveCompleted", true); 
     context.startActivity(addContactIntent); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

옵션은 연락처를 만들거나

try { 
     Intent i = new Intent(Intent.ACTION_INSERT_OR_EDIT); 
     i.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE); 
     // i.putExtra(ContactsContract.Intents.Insert.NAME, "TESTTEST"); 
     i.putExtra(ContactsContract.Intents.Insert.PHONE, number); 
     context.startActivity(i); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    }