2012-03-03 21 views
1
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); 

一些領域我沒有發現它在 android.provider.ContactsContract.Intents.Insert.Data(這是在倒數第二個指令使用) 沒有插入類中的數據變量,我正在使用API​​-8 v2.2 請幫助他們的任何其他方式來做到這一點? 我想填補這樣的數據添加聯繫人。打開聯繫人活動有已經插入

+0

爲什麼你插入「前」和「碼」的標籤?請格式化您的代碼並更詳細地描述您的問題! – home 2012-03-03 16:25:46

+1

您無法找到'ContactsContract.Intents.Insert.Data',因爲它僅在API 11之後纔可用。 – Tiago 2013-02-21 03:12:46

回答

2

如果您查看ContactsContract.Intents.Insert的javadoc,您會看到一堆像COMPANY,JOBTITLE等常量。您應該使用這些來填充您的Intent的附加內容。如果您沒有看到常數,請僅使用DATA鍵。這個文檔並不清楚,但實際上People應用程序只接受DATA中的一些列值。

例如,而不是做

row.put(Data.MIMETYPE,Organization.CONTENT_ITEM_TYPE); row.put(Organization.COMPANY,「Android」);

intent.putExtra(Intents.Insert.COMPANY, 「機器人」);

這應該工作。

我不確定你的意思是「插入類中沒有數據變量」。不應該有。 Insert.DATA是一個爲putExtra指定關鍵字的常量。

+0

沒有任何常量Intents.Insert.Website和Intents.Insert.LastName如何執行此操作請告訴我.. – AsadYarKhan 2012-03-04 15:19:33

1

您可能導入了Contacts.Intents.Insert。此課程中沒有數據。

您必須導入ContactsContract.Intents.Insert。

對於網站試試這個代碼,

ArrayList<ContentValues> data = new ArrayList<ContentValues>(); 
    ContentValues row1 = new ContentValues(); 
    row1.put(Data.MIMETYPE, Website.CONTENT_ITEM_TYPE); 
    row1.put(Website.URL, "www.urwebsite.com"); 
    row1.put(Website.LABEL, "abc"); 
    row1.put(Website.TYPE, Website.TYPE_HOME); 
    data.add(row1); 
    Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI); 
    intent.putParcelableArrayListExtra(Insert.DATA, data); 
    startActivity(intent); 
相關問題