2010-11-22 38 views
2

嗨 我想新建一個接觸,所以這裏是我的代碼:Android的創造接觸問題

Intent addPersonIntent = new Intent(Intent.ACTION_INSERT_OR_EDIT); 

addPersonIntent.putExtra(Insert.NAME, "asd"); 
addPersonIntent.setType(Contacts.People.NAME); 

addPersonIntent.putExtra(Insert.PHONE_TYPE, Contacts.Phones.TYPE_WORK); 
addPersonIntent.putExtra(Insert.PHONE, Uri.decode("123")); 
addPersonIntent.putExtra(Insert.PHONE_TYPE, Contacts.Phones.TYPE_MOBILE); 
addPersonIntent.putExtra(Insert.PHONE, Uri.decode("123")); 
addPersonIntent.setType(Contacts.Phones.CONTENT_ITEM_TYPE); 

... 

startActivity(addPersonIntent); 

爲什麼創建的唯一的事情就是手機號碼,我從來沒有得到的「工作」是多少?

回答

2

您正在考慮將「putExtra」添加到數組的末尾 - 如果您將其視爲設置哈希表中的名稱/值對,則問題會更加清晰。基本上,您將PHONE_TYPE設置爲「工作」,PHONE設置爲123,PHONE_TYPE設置爲「mobile」(設置爲工作時覆蓋)和PHONE再次設置爲「123」。

你想要做的是設置無論是「移動」或「作品」手機採用SECONDARY_PHONE和SECONDARY_PHONE_TYPE數據是什麼 - Details here.

另外,請記住,這一切都沿用了老版本的通訊錄API的這從Android 2.0+開始已棄用。有一個方便的資源,可以將您的代碼遷移到新的聯繫人API here

+0

感謝它正在工作:) btw我的應用程序必須工作v> = 1.6 – martin 2010-11-23 08:00:24

1

這裏是下一個問題,當我添加:

addPersonIntent.putExtra(Insert.NOTES, 「asdkjhaskh」);

註釋數據從未出現在活動中,爲什麼?

整個想法是啓動EditContactActivity.java與加載的數據,現在我加載電話,名稱和公司。出於某種原因,我無法加載筆記,另一個問題是如何設置IM的意圖信息?例如,我試着用:

addPersonIntent.putExtra(Insert.IM_HANDLE,「mySkype」); addPersonIntent.putExtra(Insert.IM_PROTOCOL,Uri.decode(「skype」));

但它不工作。