2012-09-25 15 views
2

我試圖使用意圖插入接觸,我試圖正是這一段代碼,在Android SDK中獲取,看到它here插入接觸使用預先填寫意向

ArrayList<ContentValues> data = new ArrayList<ContentValues>(); 

ContentValues row1 = new ContentValues(); 
row1.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE); 
row1.put(Organization.COMPANY, "Android"); 
data.add(row1); 

ContentValues row2 = new ContentValues(); 
row2.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE); 
row2.put(Email.TYPE, Email.TYPE_CUSTOM); 
row2.put(Email.LABEL, "Green Bot"); 
row2.put(Email.ADDRESS, "[email protected]"); 
data.add(row2); 

Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI); 
intent.putParcelableArrayListExtra(Insert.DATA, data); 

startActivity(intent); 

我得到一個空InsertContact意圖。它讓我發瘋,爲什麼它不起作用?

+0

難道你弄明白了嗎?我正在嘗試做同樣的事情。 –

回答

2

試試這個:

Intent addPersonIntent = new Intent(Intent.ACTION_INSERT); 
             addPersonIntent.setType(ContactsContract.Contacts.CONTENT_TYPE); 

             addPersonIntent.putExtra(ContactsContract.Intents.Insert.NAME, "name"); 
             addPersonIntent.putExtra(ContactsContract.Intents.Insert.PHONE, "phone"); 
             addPersonIntent.putExtra(ContactsContract.Intents.Insert.EMAIL, "email"); 
             addPersonIntent.putExtra(ContactsContract.Intents.Insert.POSTAL, "address"); 

             startActivityForResult(addPersonIntent, CREATE_NEW); 
0

也許你的執行情況DataOrganizationEmail類是錯誤的。

這是相同的代碼與全面實現類:

ArrayList<ContentValues> data = new ArrayList<ContentValues>(); 

ContentValues row1 = new ContentValues(); 
    row1.put(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE); 
    row1.put(ContactsContract.CommonDataKinds.Organization.COMPANY, "Android"); 
data.add(row1); 

ContentValues row2 = new ContentValues(); 
    row2.put(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE); 
    row2.put(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_CUSTOM); 
    row2.put(ContactsContract.CommonDataKinds.Email.LABEL, "Green Bot"); 
    row2.put(ContactsContract.CommonDataKinds.Email.ADDRESS, "[email protected]"); 
data.add(row2); 

Intent intent = new Intent(Intent.ACTION_INSERT, ContactsContract.Contacts.CONTENT_URI); 
    intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, data);  
startActivity(intent); 

注意:此代碼僅適用於API等級11以上AS ContactsContract.Intents.Insert.DATA從API等級11 Android Doc

相關問題