2012-06-14 47 views
1

IAM使用此代碼如何添加現有聯繫人的「手機通訊錄」賬戶

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

搜索我發現最好的方式插入聯繫到本地手機通訊錄後,以分配ACCOUNT_TYPEACCOUNT_NAMEnull看看這個Link

+0

我不同意,看到我在[鏈接](評論http://stackoverflow.com/questions/10014832/getting -account型的觸點表換訪問電話接觸/ 10320903#10320903) – 2014-06-08 13:43:29

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(); 
    } 
相關問題