我需要使用 Xamarin Forms/Android 的意圖以編程方式打開 Android 聯(lián)系人應(yīng)用程序。當(dāng)“添加新聯(lián)系人”活動(dòng)/屏幕出現(xiàn)時(shí),我想用以下字段預(yù)先填充它:名稱(正在填充)電話(正在填充)街道(無人居?。┏鞘校o人居住)狀態(tài)(未填充)國(guó)家(沒有看到這個(gè)字段,沒有填充)如上所述,某些屏幕正在填充,但地址字段并未填充。這是用于觸發(fā)打開 Android 的“添加聯(lián)系人”屏幕的活動(dòng)的 Xamarin C# Android 代碼/服務(wù):public void AddContact(string name, string[] phoneNumbers, string streetAddress, string city, string state, string postalCode, CountryValues countrycode)? ? {? ? ? ? // get current activity? ? ? ? var activity = CrossCurrentActivity.Current.Activity;? ? ? ? // create add contact intent? ? ? ? var intent = new Intent(Intent.ActionInsert);? ? ? ? intent.SetType(ContactsContract.Contacts.ContentType);? ? ? ? // add field for contact name? ? ? ? intent.PutExtra(ContactsContract.Intents.Insert.Name, name);? ? ? ? // Adding more than on phone number if available? ? ? ? foreach (string numbers in phoneNumbers)? ? ? ? {? ? ? ? ? ? intent.PutExtra(ContactsContract.Intents.Insert.Phone, numbers);? ? ? ? }? ? ? ? // pre-populate address fields? ? ? ? intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.Street, streetAddress);? ? ? ? intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.City, city);? ? ? ? intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.Region, state);? ? ? ? intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.Postcode, postalCode);? ? ? ? intent.PutExtra(ContactsContract.CommonDataKinds.StructuredPostal.Country, countrycode.ToString());? ? ? ? //start activity? ? ? ? activity.StartActivity(intent);? ? }該活動(dòng)確實(shí)會(huì)在聯(lián)系人應(yīng)用程序中打開“添加新聯(lián)系人”屏幕,但僅填充姓名和電話號(hào)碼字段。請(qǐng)參閱下面的屏幕截圖:我找到了一個(gè)可以轉(zhuǎn)換為 Xamarin.Android 的鏈接,但我一直在努力實(shí)現(xiàn)Java Samples。
1 回答

幕布斯7119047
TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
我擔(dān)心您只能將 下可用的值作為參數(shù)傳遞ContactsContract.Intents.Insert
。因此,對(duì)于地址,您只有郵政編碼,如文檔中詳述:
public static Final String POSTAL:在 API 5 中添加
聯(lián)系郵政地址的額外字段。
類型:字符串
恒定值:“郵政”
因此,您可以按如下方式傳遞郵政編碼:
intent.PutExtra(ContactsContract.Intents.Insert.Postal,?postalCode);
您現(xiàn)在可能需要要求用戶在“添加聯(lián)系人”頁面中手動(dòng)輸入其他值。
另外,您是否測(cè)試過使用列表同時(shí)添加多部手機(jī)?從文檔來看,您似乎應(yīng)該使用SECONDARY_PHONE和TERTIARY_PHONE常量。
- 1 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報(bào)
0/150
提交
取消